The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Build.PL 26
Changes 045
MANIFEST 2325
META.yml 4852
README 142142
TODO 61
crap.tdy 00
inc/My/Builder/Unix.pm 1252
inc/My/Builder.pm 35
inc/My/Utility.pm 69105
lib/Alien/SDL.pm 815
patches/SDL_Pango-0.1.2-config-tools.1.patch 01460
patches/SDL_Pango-0.1.2-config-tools.2.patch 0842
patches/SDL_Pango-0.1.2-config-tools.3.patch 0282
patches/jpeg-8a_cygwin.patch 11
patches/test1.patch 21
patches/zlib-1.2.5-bsd-ldconfig.patch 014
sdl-config 600
t/003_check_header.t 51
19 files changed (This is a version diff) 3813049
@@ -25,7 +25,9 @@ my $build = $package->new(
     'File::Spec'       => '0',
     'File::Temp'       => '0',
     'File::ShareDir'   => '0',
+    'File::Which'      => '0',
     'ExtUtils::CBuilder' => '0',
+    'Capture::Tiny'    => '0',
   },
   build_requires       => {  #need to have for running: ./Build (install|test)
     'File::Spec'       => '0',
@@ -35,6 +37,7 @@ my $build = $package->new(
     'File::Path'       => '2.08',
     'File::Fetch'      => '0.24',
     'File::Find'       => '0',
+    'File::Which'      => '0',
     'Digest::SHA'      => '0',
     'Archive::Extract' => '0',
     'Archive::Tar'     => '0',
@@ -47,6 +50,7 @@ my $build = $package->new(
     'File::Path'       => '2.08',
     'File::Fetch'      => '0.24',
     'File::Find'       => '0',
+    'File::Which'      => '0',
     'Digest::SHA'      => '0',
     'Archive::Extract' => '0',
     'Module::Build'    => '0.36',
@@ -55,8 +59,8 @@ my $build = $package->new(
   },
   meta_merge => {
     resources  => {
-      bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-SDL',
-      repository => 'http://github.com/kthakore/Alien_SDL'
+      bugtracker => 'http://sdlperl.ath.cx/projects/SDLPerl/query?component=Alien%3A%3ASDL&status=!closed',
+      repository => 'http://github.com/PerlGameDev/Alien-SDL'
     }
   },
   create_readme => 1,
@@ -1,5 +1,50 @@
 Revision history for Perl module Alien::SDL
 
+1.421  Sat Oct 30 2010
+     - using LD_LIBRARY_PATH on openbsd [FROGGS]
+
+1.420  Fri Oct 29 2010
+     - bugtracker url changed, shows Alien::SDL only [FROGGS]
+     - disabling mmx for SDL_gfx for alpha-linux [FROGGS]
+
+1.419  Sat Oct 23 2010
+     - test for X11/Xlib.h on darwin, disable X if missing [FROGGS]
+     - extracting sources and running configure again by default when running Build twice [FROGGS]
+     - fixed bug: passing '--without-x' only to package SDL [FROGGS]
+     - added sub check_prereqs_tools, checking for pkg-config to build SDL_Pango [FROGGS]
+     - printing config.log for packages that failed to run configure [FROGGS]
+
+1.418_2  Mon Oct 18 2010
+     - patch for ldconfig on BSD [FROGGS]
+     - experimental test for X11/Xlib.h on darwin, disable X if missing [FROGGS]
+     - disabling any warning for file_find() for perl-5.6.2 [FROGGS]
+
+1.418_1  Fri Oct 15 2010
+     - fixed 'invalid version'-error for libtiff [FROGGS]
+     - experimental test for X11/Xlib.h on darwin [FROGGS]
+     - experimental disabling any warning for file_find() for perl-5.6.2 [FROGGS]
+
+1.418  Thu Oct 14 2010
+     - removing SDL_net header check from tests [FROGGS]
+     - passing -L/usr/X11R6/lib -I/usr/X11R6/include to all SDL* libs [FROGGS]
+
+1.417  Wed Oct 13 2010
+     - Searching for libs/headers in /usr/X11R6/lib+include [FROGGS]
+     - Skipping build of zlib in case its already there (fixes OpenBSD unknown-reports) [FROGGS]
+     - Skipping SDL_mixer if no GNU Make present [FROGGS]
+
+1.416  Tue Oct 07 2010
+     - Added missing patch files [FROGGS]
+
+1.415  Tue Oct 07 2010
+     - Using newer config tools for Pango (config.guess, config.sub, install.sh) [FROGGS]
+
+1.414  Tue Sep 28 2010
+     - new Win64 binaries [kmx]
+     - new repo URL http://github.com/PerlGameDev/Alien-SDL [kmx]
+     - Output of header testing is a one-liner now #203 [FROGGS]
+     - Removed SDL_net from build system as it isnt needed [FROGGS]
+
 1.413  Fri Aug 06 2010
      - Searching for lib<xxx>.dll.a libs (cygwin needs this) [kmx]
      - New src build set: SDL-1.2.14 & co. (builds only SDL+SDL_*) [kmx]
@@ -1,23 +1,25 @@
-Build.PL
-Changes
-crap.tdy
-inc/My/Builder.pm
-inc/My/Builder/Unix.pm
-inc/My/Builder/Windows.pm
-inc/My/Utility.pm
-lib/Alien/SDL.pm
-LICENSE
-MANIFEST			This list of files
-MANIFEST.SKIP
-META.yml
-patches/jpeg-8a_cygwin.patch
-patches/SDL_Pango-0.1.2-API-adds.1.patch
-patches/SDL_Pango-0.1.2-API-adds.2.patch
-patches/test1.patch
-README
-sdl-config
-t/001_load.t
-t/002_config.t
-t/003_check_header.t
-t/004_get_header_version.t
-TODO
+Build.PL
+Changes
+inc/My/Builder.pm
+inc/My/Builder/Unix.pm
+inc/My/Builder/Windows.pm
+inc/My/Utility.pm
+lib/Alien/SDL.pm
+LICENSE
+MANIFEST			This list of files
+MANIFEST.SKIP
+META.yml
+patches/jpeg-8a_cygwin.patch
+patches/SDL_Pango-0.1.2-API-adds.1.patch
+patches/SDL_Pango-0.1.2-API-adds.2.patch
+patches/SDL_Pango-0.1.2-config-tools.1.patch
+patches/SDL_Pango-0.1.2-config-tools.2.patch
+patches/SDL_Pango-0.1.2-config-tools.3.patch
+patches/test1.patch
+patches/zlib-1.2.5-bsd-ldconfig.patch
+README
+t/001_load.t
+t/002_config.t
+t/003_check_header.t
+t/004_get_header_version.t
+TODO
@@ -1,48 +1,52 @@
----
-abstract: 'Get, Build and Use SDL libraries'
-author:
-  - 'Kartik Thakore <KTHAKORE@cpan.org>'
-build_requires:
-  Archive::Extract: 0
-  Archive::Tar: 0
-  Archive::Zip: 0
-  Digest::SHA: 0
-  ExtUtils::CBuilder: 0
-  File::Fetch: 0.24
-  File::Find: 0
-  File::Path: 2.08
-  File::ShareDir: 0
-  File::Spec: 0
-  File::Temp: 0
-  Module::Build: 0.36
-  Text::Patch: 1.4
-configure_requires:
-  Archive::Extract: 0
-  Digest::SHA: 0
-  File::Fetch: 0.24
-  File::Find: 0
-  File::Path: 2.08
-  File::ShareDir: 0
-  File::Spec: 0
-  Module::Build: 0.36
-  Text::Patch: 1.4
-generated_by: 'Module::Build version 0.3603'
-license: perl
-meta-spec:
-  url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
-name: Alien-SDL
-provides:
-  Alien::SDL:
-    file: lib/Alien/SDL.pm
-    version: 1.413
-requires:
-  ExtUtils::CBuilder: 0
-  File::ShareDir: 1.00
-  File::Spec: 0
-  File::Temp: 0
-resources:
-  bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-SDL
-  license: http://dev.perl.org/licenses/
-  repository: http://github.com/kthakore/Alien_SDL
-version: 1.413
+---
+abstract: 'Get, Build and Use SDL libraries'
+author:
+  - 'Kartik Thakore <KTHAKORE@cpan.org>'
+build_requires:
+  Archive::Extract: 0
+  Archive::Tar: 0
+  Archive::Zip: 0
+  Digest::SHA: 0
+  ExtUtils::CBuilder: 0
+  File::Fetch: 0.24
+  File::Find: 0
+  File::Path: 2.08
+  File::ShareDir: 0
+  File::Spec: 0
+  File::Temp: 0
+  File::Which: 0
+  Module::Build: 0.36
+  Text::Patch: 1.4
+configure_requires:
+  Archive::Extract: 0
+  Digest::SHA: 0
+  File::Fetch: 0.24
+  File::Find: 0
+  File::Path: 2.08
+  File::ShareDir: 0
+  File::Spec: 0
+  File::Which: 0
+  Module::Build: 0.36
+  Text::Patch: 1.4
+generated_by: 'Module::Build version 0.3607'
+license: perl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Alien-SDL
+provides:
+  Alien::SDL:
+    file: lib/Alien/SDL.pm
+    version: 1.421
+requires:
+  Capture::Tiny: 0
+  ExtUtils::CBuilder: 0
+  File::ShareDir: 1.00
+  File::Spec: 0
+  File::Temp: 0
+  File::Which: 0
+resources:
+  bugtracker: http://sdlperl.ath.cx/projects/SDLPerl/query?component=Alien%3A%3ASDL&status=!closed
+  license: http://dev.perl.org/licenses/
+  repository: http://github.com/PerlGameDev/Alien-SDL
+version: 1.421
@@ -1,142 +1,142 @@
-NAME
-    Alien::SDL - building, finding and using SDL binaries
-
-VERSION
-    Version 1.413
-
-SYNOPSIS
-    Alien::SDL tries (in given order) during its installation:
-
-    *   Locate an already installed SDL via 'sdl-config' script.
-
-    *   Check for SDL libs in directory specified by SDL_INST_DIR variable.
-        In this case the module performs SDL library detection via
-        '$SDL_INST_DIR/bin/sdl-config' script.
-
-    *   Download prebuilt SDL binaries (if available for your platform).
-
-    *   Build SDL binaries from source codes (if possible on your system).
-
-    Later you can use Alien::SDL in your module that needs to link agains
-    SDL and/or related libraries like this:
-
-        # Sample Makefile.pl
-        use ExtUtils::MakeMaker;
-        use Alien::SDL;
-
-        WriteMakefile(
-          NAME         => 'Any::SDL::Module',
-          VERSION_FROM => 'lib/Any/SDL/Module.pm',
-          LIBS         => Alien::SDL->config('libs', [-lAdd_Lib]),
-          INC          => Alien::SDL->config('cflags'),
-          # + additional params
-        );
-
-DESCRIPTION
-    Please see Alien for the manifesto of the Alien namespace.
-
-    In short "Alien::SDL" can be used to detect and get configuration
-    settings from an installed SDL and related libraries. Based on your
-    platform it offers the possibility to download and install prebuilt
-    binaries or to build SDL & co. from source codes.
-
-    The important facts:
-
-    *   The module does not modify in any way the already existing SDL
-        installation on your system.
-
-    *   If you reinstall SDL libs on your system you do not need to
-        reinstall Alien::SDL (providing that you use the same directory for
-        the new installation).
-
-    *   The prebuild binaries and/or binaries built from sources are always
-        installed into perl module's 'share' directory.
-
-    *   If you use prebuild binaries and/or binaries built from sources it
-        happens that some of the dynamic libraries (*.so, *.dll) will not
-        automaticly loadable as they will be stored somewhere under perl
-        module's 'share' directory. To handle this scenario Alien::SDL
-        offers some special functionality (see below).
-
-METHODS
-  config()
-    This function is the main public interface to this module. Basic
-    functionality works in a very similar maner to 'sdl-config' script:
-
-        Alien::SDL->config('prefix');   # gives the same string as 'sdl-config --prefix'
-        Alien::SDL->config('version');  # gives the same string as 'sdl-config --version'
-        Alien::SDL->config('libs');     # gives the same string as 'sdl-config --libs'
-        Alien::SDL->config('cflags');   # gives the same string as 'sdl-config --cflags'
-
-    On top of that this function supports special parameters:
-
-        Alien::SDL->config('ld_shared_libs');
-
-    Returns a list of full paths to shared libraries (*.so, *.dll) that will
-    be required for running the resulting binaries you have linked with SDL
-    libs.
-
-        Alien::SDL->config('ld_paths');
-
-    Returns a list of full paths to directories with shared libraries (*.so,
-    *.dll) that will be required for running the resulting binaries you have
-    linked with SDL libs.
-
-        Alien::SDL->config('ld_shlib_map');
-
-    Returns a reference to hash of value pairs '<libnick>' =>
-    '<full_path_to_shlib'>, where '<libnick>' is shortname for SDL related
-    library like: SDL, SDL_gfx, SDL_net, SDL_sound ... + some non-SDL
-    shortnames e.g. smpeg, jpeg, png.
-
-    NOTE: config('ld_<something>') return an empty list/hash if you have
-    decided to use SDL libraries already installed on your system. This
-    concerns 'sdl-config' detection and detection via
-    '$SDL_INST_DIR/bin/sdl-config'.
-
-  check_header()
-    This function checks the availability of given header(s) when using
-    compiler options provided by "Alien::SDL->config('cflags')".
-
-        Alien::SDL->check_header('SDL.h');
-        Alien::SDL->check_header('SDL.h', 'SDL_net.h');
-
-    Returns 1 if all given headers are available, 0 otherwise.
-
-  get_header_version()
-    Tries to find a header file specified as a param in SDL prefix direcotry
-    and based on "#define" macros inside this header file tries to get a
-    version triplet.
-
-        Alien::SDL->get_header_version('SDL_mixer.h');
-        Alien::SDL->get_header_version('SDL_version.h');
-        Alien::SDL->get_header_version('SDL_gfxPrimitives.h');
-        Alien::SDL->get_header_version('SDL_image.h');
-        Alien::SDL->get_header_version('SDL_mixer.h');
-        Alien::SDL->get_header_version('SDL_net.h');
-        Alien::SDL->get_header_version('SDL_ttf.h');
-        Alien::SDL->get_header_version('smpeg.h');
-
-    Returns string like '1.2.3' or undef if not able to find and parse
-    version info.
-
-BUGS
-    Please post issues and bugs at
-    <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-SDL>
-
-AUTHOR
-        Kartik Thakore
-        CPAN ID: KTHAKORE
-        Thakore.Kartik@gmail.com
-        http://yapgh.blogspot.com
-
-ACKNOWLEDGEMENTS
-        kmx - complete redesign between versions 0.7.x and 0.8.x
-
-COPYRIGHT
-    This program is free software; you can redistribute it and/or modify it
-    under the same terms as Perl itself.
-
-    The full text of the license can be found in the LICENSE file included
-    with this module.
-
+NAME
+    Alien::SDL - building, finding and using SDL binaries
+
+VERSION
+    Version 1.421
+
+SYNOPSIS
+    Alien::SDL tries (in given order) during its installation:
+
+    *   Locate an already installed SDL via 'sdl-config' script.
+
+    *   Check for SDL libs in directory specified by SDL_INST_DIR variable.
+        In this case the module performs SDL library detection via
+        '$SDL_INST_DIR/bin/sdl-config' script.
+
+    *   Download prebuilt SDL binaries (if available for your platform).
+
+    *   Build SDL binaries from source codes (if possible on your system).
+
+    Later you can use Alien::SDL in your module that needs to link agains
+    SDL and/or related libraries like this:
+
+        # Sample Makefile.pl
+        use ExtUtils::MakeMaker;
+        use Alien::SDL;
+
+        WriteMakefile(
+          NAME         => 'Any::SDL::Module',
+          VERSION_FROM => 'lib/Any/SDL/Module.pm',
+          LIBS         => Alien::SDL->config('libs', [-lAdd_Lib]),
+          INC          => Alien::SDL->config('cflags'),
+          # + additional params
+        );
+
+DESCRIPTION
+    Please see Alien for the manifesto of the Alien namespace.
+
+    In short "Alien::SDL" can be used to detect and get configuration
+    settings from an installed SDL and related libraries. Based on your
+    platform it offers the possibility to download and install prebuilt
+    binaries or to build SDL & co. from source codes.
+
+    The important facts:
+
+    *   The module does not modify in any way the already existing SDL
+        installation on your system.
+
+    *   If you reinstall SDL libs on your system you do not need to
+        reinstall Alien::SDL (providing that you use the same directory for
+        the new installation).
+
+    *   The prebuild binaries and/or binaries built from sources are always
+        installed into perl module's 'share' directory.
+
+    *   If you use prebuild binaries and/or binaries built from sources it
+        happens that some of the dynamic libraries (*.so, *.dll) will not
+        automaticly loadable as they will be stored somewhere under perl
+        module's 'share' directory. To handle this scenario Alien::SDL
+        offers some special functionality (see below).
+
+METHODS
+  config()
+    This function is the main public interface to this module. Basic
+    functionality works in a very similar maner to 'sdl-config' script:
+
+        Alien::SDL->config('prefix');   # gives the same string as 'sdl-config --prefix'
+        Alien::SDL->config('version');  # gives the same string as 'sdl-config --version'
+        Alien::SDL->config('libs');     # gives the same string as 'sdl-config --libs'
+        Alien::SDL->config('cflags');   # gives the same string as 'sdl-config --cflags'
+
+    On top of that this function supports special parameters:
+
+        Alien::SDL->config('ld_shared_libs');
+
+    Returns a list of full paths to shared libraries (*.so, *.dll) that will
+    be required for running the resulting binaries you have linked with SDL
+    libs.
+
+        Alien::SDL->config('ld_paths');
+
+    Returns a list of full paths to directories with shared libraries (*.so,
+    *.dll) that will be required for running the resulting binaries you have
+    linked with SDL libs.
+
+        Alien::SDL->config('ld_shlib_map');
+
+    Returns a reference to hash of value pairs '<libnick>' =>
+    '<full_path_to_shlib'>, where '<libnick>' is shortname for SDL related
+    library like: SDL, SDL_gfx, SDL_net, SDL_sound ... + some non-SDL
+    shortnames e.g. smpeg, jpeg, png.
+
+    NOTE: config('ld_<something>') return an empty list/hash if you have
+    decided to use SDL libraries already installed on your system. This
+    concerns 'sdl-config' detection and detection via
+    '$SDL_INST_DIR/bin/sdl-config'.
+
+  check_header()
+    This function checks the availability of given header(s) when using
+    compiler options provided by "Alien::SDL->config('cflags')".
+
+        Alien::SDL->check_header('SDL.h');
+        Alien::SDL->check_header('SDL.h', 'SDL_net.h');
+
+    Returns 1 if all given headers are available, 0 otherwise.
+
+  get_header_version()
+    Tries to find a header file specified as a param in SDL prefix direcotry
+    and based on "#define" macros inside this header file tries to get a
+    version triplet.
+
+        Alien::SDL->get_header_version('SDL_mixer.h');
+        Alien::SDL->get_header_version('SDL_version.h');
+        Alien::SDL->get_header_version('SDL_gfxPrimitives.h');
+        Alien::SDL->get_header_version('SDL_image.h');
+        Alien::SDL->get_header_version('SDL_mixer.h');
+        Alien::SDL->get_header_version('SDL_net.h');
+        Alien::SDL->get_header_version('SDL_ttf.h');
+        Alien::SDL->get_header_version('smpeg.h');
+
+    Returns string like '1.2.3' or undef if not able to find and parse
+    version info.
+
+BUGS
+    Please post issues and bugs at
+    <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-SDL>
+
+AUTHOR
+        Kartik Thakore
+        CPAN ID: KTHAKORE
+        Thakore.Kartik@gmail.com
+        http://yapgh.blogspot.com
+
+ACKNOWLEDGEMENTS
+        kmx - complete redesign between versions 0.7.x and 0.8.x
+
+COPYRIGHT
+    This program is free software; you can redistribute it and/or modify it
+    under the same terms as Perl itself.
+
+    The full text of the license can be found in the LICENSE file included
+    with this module.
+
@@ -1,14 +1,9 @@
 TODO list for Perl module Alien::SDL
 
-- discuss automated CPAN Testers issues (and perhaps change build defaults somehow)
-- think of a complex t\alien_sdl_interface.t (we need this more in SDL_perl)
 - move prebuilt binaries to http://sdl.perl.org/
-- switch src builds to SDL_ttf-2.0.10.tar.gz (not released yet)
-  unofficial version: http://www.libsdl.org/tmp/SDL_ttf/release/SDL_ttf-2.0.10.tar.gz
 - give option to use old sources
 - give app to update and manage source code see below
 - use a json file which we can update off site (not hard coded) to link to new SHA sum and packs
-- build new Win/64bit binaries with SDL_Pango patch
 - when checking for prereq. libs, use pkg-config if available
 - build only libs like png or tiff in case they are not already installed on the system
-- printing missing libs when calling Build
\ No newline at end of file
+- printing missing libs when calling Build
diff --git a/var/tmp/source/KTHAKORE/Alien-SDL-1.413/Alien-SDL-1.413/crap.tdy b/var/tmp/source/KTHAKORE/Alien-SDL-1.413/Alien-SDL-1.413/crap.tdy
deleted file mode 100644
index e69de29b..00000000
@@ -5,7 +5,7 @@ use warnings;
 use base 'My::Builder';
 
 use File::Spec::Functions qw(catdir catfile rel2abs);
-use My::Utility qw(check_header check_prereqs_libs);
+use My::Utility qw(check_header check_prereqs_libs check_prereqs_tools);
 use Config;
 
 my $inc_lib_candidates = {
@@ -54,9 +54,16 @@ sub build_binaries {
   my( $self, $build_out, $build_src ) = @_;
   my $bp = $self->notes('build_params');
   foreach my $pack (@{$bp->{members}}) {
-    if($pack->{pack} =~ m/^(png)$/ && check_prereqs_libs($pack->{pack})) {
+    if(($pack->{pack} =~ m/^(png)$/ && check_prereqs_libs($pack->{pack}))
+    || ($pack->{pack} =~ m/^zlib$/  && check_prereqs_libs('z'))) {
       print "SKIPPING package '" . $pack->{dirname} . "' (already installed)...\n";
     }
+    elsif($pack->{pack} =~ m/^(SDL_mixer)$/ && !$self->_is_gnu_make($self->_get_make)) {
+      print "SKIPPING package '" . $pack->{dirname} . "' (GNU Make needed)...\n";
+    }
+    elsif($pack->{pack} =~ m/^(SDL_Pango)$/ && !check_prereqs_tools('pkg-config')) {
+      print "SKIPPING package '" . $pack->{dirname} . "' (pkg-config needed)...\n";
+    }
     else {
       print "BUILDING package '" . $pack->{dirname} . "'...\n";
       my $srcdir = catfile($build_src, $pack->{dirname});
@@ -67,12 +74,19 @@ sub build_binaries {
 
       # do './configure ...'
       my $run_configure = 'y';
-      $run_configure = $self->prompt("Run ./configure for '$pack->{pack}' again?", "n") if (-f "config.status");
+      $run_configure = $self->prompt("Run ./configure for '$pack->{pack}' again?", "y") if (-f "config.status");
       if (lc($run_configure) eq 'y') {
         my $cmd = $self->_get_configure_cmd($pack->{pack}, $prefixdir);
-        print "Configuring $pack->{pack}...\n";
+        print "Configuring package '$pack->{pack}'...\n";
         print "(cmd: $cmd)\n";
-        $self->do_system($cmd) or die "###ERROR### [$?] during ./configure ... ";
+        unless($self->do_system($cmd)) {
+          if(-f "config.log" && open(CONFIGLOG, "<config.log")) {
+            print "config.log:\n";
+            print while <CONFIGLOG>;
+            close(CONFIGLOG);
+          }
+          die "###ERROR### [$?] during ./configure for package '$pack->{pack}'...";
+        }
       }
 
       # do 'make install'
@@ -98,7 +112,7 @@ sub _get_configure_cmd {
 
   # NOTE: all ugly IFs concerning ./configure params have to go here
 
-  if(($pack eq 'SDL_gfx') && $Config{archname} =~ /(powerpc|ppc|64|2level)/i) {
+  if(($pack eq 'SDL_gfx') && $Config{archname} =~ /(powerpc|ppc|64|2level|alpha)/i) {
     $extra .= ' --disable-mmx';
   }
   
@@ -106,6 +120,10 @@ sub _get_configure_cmd {
     $extra .= ' --disable-video-ps3';
   }
 
+  if($pack eq 'SDL' && $^O eq 'darwin' && !check_header($self->get_additional_cflags, 'X11/Xlib.h')) {
+    $extra .= ' --without-x';
+  }
+
   if(($pack eq 'SDL') && ($Config{archname} =~ /solaris/) && !check_header($extra_cflags, 'sys/audioio.h')) {
     $extra .= ' --disable-audio';
   }
@@ -114,11 +132,21 @@ sub _get_configure_cmd {
     $extra .= " --with-sdl-prefix=$prefixdir";
   }
 
+  if($pack =~ /^SDL/ && -d '/usr/X11R6/lib' && -d '/usr/X11R6/include') {
+    $extra_cflags  .= ' -I/usr/X11R6/include';
+    $extra_ldflags .= ' -L/usr/X11R6/lib';
+  }
+
   if(($pack eq 'SDL') && ($^O eq 'cygwin')) {
     # kmx experienced troubles while cygwin build when nasm was present in PATH
     $extra .= " --disable-nasm";
   }
 
+  if($pack eq 'jpeg') {
+    # otherwise libtiff will complain about invalid version number on dragonflybsd
+    $extra .= " --disable-ld-version-script";
+  }
+
   ### This was intended as a fix for http://www.cpantesters.org/cpan/report/7064012
   ### Unfortunately does not work.
   #
@@ -127,7 +155,7 @@ sub _get_configure_cmd {
   #  $extra_cflags .= ' -I/usr/X11R6/include';
   #  $extra_ldflags .= ' -L/usr/X11R6/lib';
   #}
-  
+
   if($pack =~ /^zlib/) {
     # does not support params CFLAGS=...
     $cmd = "./configure --prefix=$prefixdir";
@@ -136,16 +164,19 @@ sub _get_configure_cmd {
     $cmd = "./configure --prefix=$prefixdir --enable-static=no --enable-shared=yes $extra" .
            " CFLAGS=\"$extra_cflags\" LDFLAGS=\"$extra_ldflags\"";
   }
-  
+
+  if($pack ne 'SDL' && $^O eq 'openbsd') {
+    $cmd = "LD_LIBRARY_PATH=\"$prefixdir/lib:\$LD_LIBRARY_PATH\" $cmd";
+  }
+
   # we need to have $prefixdir/bin in PATH while running ./configure
   $cmd = "PATH=\"$prefixdir/bin:\$PATH\" $cmd";
-  
+
   return $cmd;
 }
 
 sub _get_make {
   my ($self) = @_;
-  my $devnull = File::Spec->devnull();
   my @try = ($Config{gmake}, 'gmake', 'make', $Config{make});
   my %tested;
   print "Gonna detect GNU make:\n";
@@ -154,8 +185,7 @@ sub _get_make {
     next if $tested{$name};
     $tested{$name} = 1;
     print "- testing: '$name'\n";
-    my $ver = `$name --version 2> $devnull`;
-    if ($ver =~ /GNU Make/i) {
+    if ($self->_is_gnu_make($name)) {
       print "- found: '$name'\n";
       return $name
     }
@@ -164,4 +194,14 @@ sub _get_make {
   return 'make';
 }
 
+sub _is_gnu_make {
+  my ($self, $name) = @_;
+  my $devnull = File::Spec->devnull();
+  my $ver = `$name --version 2> $devnull`;
+  if ($ver =~ /GNU Make/i) {
+    return 1;
+  }
+  return 0;
+}
+
 1;
@@ -177,7 +177,7 @@ sub extract_sources {
   foreach my $pack (@{$bp->{members}}) {
     my $srcdir = catfile($build_src, $pack->{dirname});
     my $unpack = 'y';
-    $unpack = $self->prompt("Dir '$srcdir' exists, wanna replace with clean sources?", "n") if (-d $srcdir);
+    $unpack = $self->prompt("Dir '$srcdir' exists, wanna replace with clean sources?", "y") if (-d $srcdir);
     if (lc($unpack) eq 'y') {
       my $archive = catfile($download, File::Fetch->new(uri => @{$pack->{url}}[0])->file);
       print "Extracting $pack->{pack}...\n";
@@ -191,11 +191,13 @@ sub extract_sources {
           # doing the same like -p1 for 'patch'
           $k =~ s/^[^\/]*\/(.*)$/$1/;
           open(SRC, $k) or die "###ERROR### Cannot open file: '$k'\n";
-          my @src  = map{$_ =~ /([^\r\n]*)/} <SRC>;
+          my @src = <SRC>;
           close(SRC);
           open(DIFF, $patch_file) or die "###ERROR### Cannot open file: '$patch_file'\n";
-          my @diff = map{$_ =~ /([^\r\n]*)/} <DIFF>;
+          my @diff = <DIFF>;
           close(DIFF);
+          foreach(@src)  { $_=~ s/[\r\n]+$//; }
+          foreach(@diff) { $_=~ s/[\r\n]+$//; }
           my $out = Text::Patch::patch( join("\n", @src) . "\n", join("\n", @diff) . "\n", { STYLE => "Unified" } );
           open(OUT, ">$k") or die "###ERROR### Cannot open file for writing: '$k'\n";
           print(OUT $out);
@@ -3,11 +3,12 @@ use strict;
 use warnings;
 use base qw(Exporter);
 
-our @EXPORT_OK = qw(check_config_script check_prebuilt_binaries check_prereqs_libs check_src_build find_SDL_dir find_file check_header sed_inplace get_dlext);
+our @EXPORT_OK = qw(check_config_script check_prebuilt_binaries check_prereqs_libs check_prereqs_tools check_src_build find_SDL_dir find_file check_header sed_inplace get_dlext);
 use Config;
 use ExtUtils::CBuilder;
 use File::Spec::Functions qw(splitdir catdir splitpath catpath rel2abs);
 use File::Find qw(find);
+use File::Which;
 use File::Copy qw(cp);
 use Cwd qw(realpath);
 
@@ -40,13 +41,13 @@ my $prebuilt_binaries = [
       cc_re    => qr/gcc/,
     },
     {
-      title    => "Binaries Win/64bit SDL-1.2.14 (extended, 20100704) RECOMMENDED\n" .
+      title    => "Binaries Win/64bit SDL-1.2.14 (extended, 20100824) RECOMMENDED\n" .
                   "\t(gfx, image, mixer, net, smpeg, ttf, sound, svg, rtf, Pango)",
       url      => [
-        'http://strawberryperl.com/package/kmx/sdl/Win64_SDL-1.2.14-extended-bin_20100704.zip',	
-        'http://froggs.de/libsdl/Win64_SDL-1.2.14-extended-bin_20100704.zip',
+        'http://strawberryperl.com/package/kmx/sdl/Win64_SDL-1.2.14-extended-bin_20100824.zip',	
+        'http://froggs.de/libsdl/Win64_SDL-1.2.14-extended-bin_20100824.zip',
       ],
-      sha1sum  => 'f23a189867865729756b9e882b3dd32b628819c9',
+      sha1sum  => 'ccffb7218bcb17544ab00c8a1ae383422fe9586d',
       arch_re  => qr/^MSWin32-x64-multi-thread$/,
       os_re    => qr/^MSWin32$/,
       cc_re    => qr/gcc/,
@@ -58,7 +59,7 @@ my $source_packs = [
 ## the first set for source code build will be a default option
   {
     title   => "Source code build: SDL-1.2.14 & co. (RECOMMENDED)\n" .
-               "\tbuilds: SDL, SDL_(image|mixer|ttf|net|gfx|Pango)\n" .
+               "\tbuilds: SDL, SDL_(image|mixer|ttf|gfx|Pango)\n" .
                "\tneeds preinstalled: (freetype2|pango)-devel",
     prereqs => {
         libs => [
@@ -75,6 +76,9 @@ my $source_packs = [
           'http://froggs.de/libz/zlib-1.2.5.tar.gz',
         ],
         sha1sum  => '8e8b93fa5eb80df1afe5422309dca42964562d7e',
+        patches => [
+          'zlib-1.2.5-bsd-ldconfig.patch',
+        ],
       },
       {
         pack => 'SDL',
@@ -147,16 +151,16 @@ my $source_packs = [
         sha1sum  => '98f6518ec71d94b8ad303a197445e0991850b887',
         patches => [ ],
       },
-      {
-        pack => 'SDL_net',
-        dirname => 'SDL_net-1.2.7',
-        url => [
-          'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
-          'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
-        ],
-        sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
-        patches => [ ],
-      },
+      #{
+      #  pack => 'SDL_net',
+      #  dirname => 'SDL_net-1.2.7',
+      #  url => [
+      #    'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
+      #    'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
+      #  ],
+      #  sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
+      #  patches => [ ],
+      #},
       {
         pack => 'SDL_gfx',
         dirname => 'SDL_gfx-2.0.20',
@@ -178,6 +182,9 @@ my $source_packs = [
         patches => [
           'SDL_Pango-0.1.2-API-adds.1.patch',
           'SDL_Pango-0.1.2-API-adds.2.patch',
+          'SDL_Pango-0.1.2-config-tools.1.patch',
+          'SDL_Pango-0.1.2-config-tools.2.patch',
+          'SDL_Pango-0.1.2-config-tools.3.patch',
         ],
       },
     ],
@@ -185,12 +192,12 @@ my $source_packs = [
 ## another src set - builds just SDL+ SDL_* libs, all other prereq libs needs to be installed 
   {
     title   => "Source code build: SDL-1.2.14 & co. (builds only SDL+SDL_*)\n" .
-               "\tbuilds: SDL, SDL_(image|mixer|ttf|net|gfx|Pango)\n" .
+               "\tbuilds: SDL, SDL_(image|mixer|ttf|gfx|Pango)\n" .
                "\tneeds preinstalled: all non-SDL libs",
     prereqs => {
         libs => [
           'pthread', # SDL
-	  'z', 'jpeg', 'tiff', 'png',
+          'z', 'jpeg', 'tiff', 'png',
           'pangoft2', 'pango', 'gobject', 'gmodule', 'glib', 'fontconfig', 'freetype', 'expat', # SDL_Pango
         ]
     },
@@ -237,16 +244,16 @@ my $source_packs = [
         sha1sum  => '98f6518ec71d94b8ad303a197445e0991850b887',
         patches => [ ],
       },
-      {
-        pack => 'SDL_net',
-        dirname => 'SDL_net-1.2.7',
-        url => [
-          'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
-          'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
-        ],
-        sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
-        patches => [ ],
-      },
+      #{
+      #  pack => 'SDL_net',
+      #  dirname => 'SDL_net-1.2.7',
+      #  url => [
+      #    'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
+      #    'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
+      #  ],
+      #  sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
+      #  patches => [ ],
+      #},
       {
         pack => 'SDL_gfx',
         dirname => 'SDL_gfx-2.0.20',
@@ -268,6 +275,9 @@ my $source_packs = [
         patches => [
           'SDL_Pango-0.1.2-API-adds.1.patch',
           'SDL_Pango-0.1.2-API-adds.2.patch',
+          'SDL_Pango-0.1.2-config-tools.1.patch',
+          'SDL_Pango-0.1.2-config-tools.2.patch',
+          'SDL_Pango-0.1.2-config-tools.3.patch',
         ],
       },
     ],
@@ -275,7 +285,7 @@ my $source_packs = [
 ## another src build set (without PANGO SUPPORT)
   {
     title   => "Source code build: SDL-1.2.14 & co. (no PANGO, but TTF)\n" .
-               "\tbuilds: SDL, SDL_(image|mixer|ttf|net|gfx)\n" .
+               "\tbuilds: SDL, SDL_(image|mixer|ttf|gfx)\n" .
                "\tneeds preinstalled: freetype2-devel",
     prereqs => {
         libs => [
@@ -304,6 +314,9 @@ my $source_packs = [
           'http://froggs.de/libz/zlib-1.2.5.tar.gz',
         ],
         sha1sum  => '8e8b93fa5eb80df1afe5422309dca42964562d7e',
+        patches => [
+          'zlib-1.2.5-bsd-ldconfig.patch',
+        ],
       },
       {
         pack => 'jpeg',
@@ -364,16 +377,16 @@ my $source_packs = [
         sha1sum  => '98f6518ec71d94b8ad303a197445e0991850b887',
         patches => [ ],
       },
-      {
-        pack => 'SDL_net',
-        dirname => 'SDL_net-1.2.7',
-        url => [
-          'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
-          'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
-        ],
-        sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
-        patches => [ ],
-      },
+      #{
+      #  pack => 'SDL_net',
+      #  dirname => 'SDL_net-1.2.7',
+      #  url => [
+      #    'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
+      #    'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
+      #  ],
+      #  sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
+      #  patches => [ ],
+      #},
       {
         pack => 'SDL_gfx',
         dirname => 'SDL_gfx-2.0.20',
@@ -389,7 +402,7 @@ my $source_packs = [
 ## another src build set (without PANGO/TTF SUPPORT)
   {
     title   => "Source code build: SDL-1.2.14 & co. (no PANGO, no TTF)\n" .
-               "\tbuilds: SDL, SDL_(image|mixer|net|gfx)",
+               "\tbuilds: SDL, SDL_(image|mixer|gfx)",
     prereqs => {
         libs => [
           'pthread',  # SDL
@@ -416,6 +429,9 @@ my $source_packs = [
           'http://froggs.de/libz/zlib-1.2.5.tar.gz',
         ],
         sha1sum  => '8e8b93fa5eb80df1afe5422309dca42964562d7e',
+        patches => [
+          'zlib-1.2.5-bsd-ldconfig.patch',
+        ],
       },
       {
         pack => 'jpeg',
@@ -466,16 +482,16 @@ my $source_packs = [
         sha1sum  => 'ef5d45160babeb51eafa7e4019cec38324ee1a5d',
         patches => [ ],
       },
-      {
-        pack => 'SDL_net',
-        dirname => 'SDL_net-1.2.7',
-        url => [
-          'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
-          'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
-        ],
-        sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
-        patches => [ ],
-      },
+      #{
+      #  pack => 'SDL_net',
+      #  dirname => 'SDL_net-1.2.7',
+      #  url => [
+      #    'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
+      #    'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
+      #  ],
+      #  sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
+      #  patches => [ ],
+      #},
       {
         pack => 'SDL_gfx',
         dirname => 'SDL_gfx-2.0.20',
@@ -491,7 +507,7 @@ my $source_packs = [
 ## another src build set (all from sources)
   {
     title   => "Source code build: SDL-1.2.14 & co. + all prereq. libraries\n" .
-               "\tbuilds: zlib, jpeg, tiff, png, freetype, SDL, SDL_(image|mixer|ttf|net|gfx)",
+               "\tbuilds: zlib, jpeg, tiff, png, freetype, SDL, SDL_(image|mixer|ttf|gfx)",
     prereqs => {
         libs => [
           'pthread', # SDL
@@ -506,6 +522,9 @@ my $source_packs = [
           'http://froggs.de/libz/zlib-1.2.5.tar.gz',
         ],
         sha1sum  => '8e8b93fa5eb80df1afe5422309dca42964562d7e',
+        patches => [
+          'zlib-1.2.5-bsd-ldconfig.patch',
+        ],
       },
       {
         pack => 'jpeg',
@@ -587,16 +606,16 @@ my $source_packs = [
         sha1sum  => '98f6518ec71d94b8ad303a197445e0991850b887',
         patches => [ ],
       },
-      {
-        pack => 'SDL_net',
-        dirname => 'SDL_net-1.2.7',
-        url => [
-          'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
-          'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
-        ],
-        sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
-        patches => [ ],
-      },
+      #{
+      #  pack => 'SDL_net',
+      #  dirname => 'SDL_net-1.2.7',
+      #  url => [
+      #    'http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz',
+      #    'http://froggs.de/libsdl/SDL_net-1.2.7.tar.gz',
+      #  ],
+      #  sha1sum  => 'b46c7e3221621cc34fec1238f1b5f0ce8972274d',
+      #  patches => [ ],
+      #},
       {
         pack => 'SDL_gfx',
         dirname => 'SDL_gfx-2.0.20',
@@ -672,19 +691,17 @@ sub check_prereqs_libs {
     my $inc_lib_candidates = {
       '/usr/local/include' => '/usr/local/lib',
       '/usr/include'       => '/usr/lib',
+      '/usr/X11R6/include' => '/usr/X11R6/lib',
     };
 
-    if ( -e '/usr/lib64'  && $Config{'myarchname'} =~ /64/)
-    {
-	$inc_lib_candidates->{'/usr/include'} = '/usr/lib64'
+    if( -e '/usr/lib64'  && $Config{'myarchname'} =~ /64/) {
+      $inc_lib_candidates->{'/usr/include'} = '/usr/lib64'
     }
 
-    if ( exists $ENV{SDL_LIB} && exists $ENV{SDL_INC} )
-    {
-	$inc_lib_candidates->{$ENV{SDL_INC}} = $ENV{SDL_LIB};
+    if( exists $ENV{SDL_LIB} && exists $ENV{SDL_INC} ) {
+      $inc_lib_candidates->{$ENV{SDL_INC}} = $ENV{SDL_LIB};
     }
 
-
     my $header_map         = {
       'z'    => 'zlib',
       'jpeg' => 'jpeglib',
@@ -724,13 +741,32 @@ sub check_prereqs {
   return $ret;
 }
 
+sub check_prereqs_tools {
+  my @tools = @_;
+  my $ret  = 1;
+
+  foreach my $tool (@tools) {
+    
+    if(-x File::Which::which($tool)
+    || ('pkg-config' eq $tool && defined $ENV{PKG_CONFIG} && $ENV{PKG_CONFIG} && -x File::Which::which($ENV{PKG_CONFIG}))) {
+      $ret &= 1;
+    }
+    else {
+      print "WARNING: required '$tool' not found\n";
+      $ret = 0;
+    }
+  }
+
+  return $ret;
+}
+
 sub find_file {
   my ($dir, $re) = @_;
   my @files;
   $re ||= qr/.*/;
   {
     #hide warning "Can't opendir(...): Permission denied - fix for http://rt.cpan.org/Public/Bug/Display.html?id=57232
-    no warnings 'File::Find';
+    no warnings;
     find({ wanted => sub { push @files, rel2abs($_) if /$re/ }, follow => 1, no_chdir => 1 , follow_skip => 2}, $dir);
   };
   return @files;
@@ -7,6 +7,7 @@ use File::Spec;
 use File::Find;
 use File::Spec::Functions qw(catdir catfile rel2abs);
 use File::Temp;
+use Capture::Tiny;
 
 =head1 NAME
 
@@ -14,11 +15,11 @@ Alien::SDL - building, finding and using SDL binaries
 
 =head1 VERSION
 
-Version 1.413
+Version 1.421
 
 =cut
 
-our $VERSION = '1.413';
+our $VERSION = '1.421';
 $VERSION = eval $VERSION;
 
 =head1 SYNOPSIS
@@ -212,7 +213,7 @@ sub get_header_version {
 ### check presence of header(s) specified as params
 sub check_header {
   my ($package, @header) = @_;
-  print STDERR "[$package] Testing header(s): " . join(', ', @header) . "\n";
+  print STDERR "[$package] Testing header(s): " . join(', ', @header);
 
   require ExtUtils::CBuilder; # PAR packer workaround
   
@@ -235,16 +236,22 @@ int demofunc(void) { return 0; }
 
 MARKER
   close($fs);
-  #open OLDERR, ">&STDERR";
-  #open STDERR, ">", File::Spec->devnull();  
-  my $obj = eval { $cb->compile( source => $src, extra_compiler_flags => Alien::SDL->config('cflags')); };
-  #open(STDERR, ">&OLDERR");
+  my $obj;
+  my $stdout = '';
+  my $stderr = '';
+  ($stdout, $stderr) = Capture::Tiny::capture {
+    $obj = eval { $cb->compile( source => $src, extra_compiler_flags => Alien::SDL->config('cflags')); };
+  };
   if($obj) {
+    print STDERR "\n";
     unlink $obj;
     return 1;
   }
   else {
-    print STDERR "###TEST FAILED### for: " . join(', ', @header) . "\n";
+    $stderr =~ s/[\r\n]$//;
+    $stderr =~ s/^\Q$src\E[\d\s:]*//;
+    
+    print STDERR " NOK: ($stderr)\n";
     return 0;
   }
 }
@@ -0,0 +1,1460 @@
+--- SDL_Pango-0.1.2/config.guess	2004-01-20 14:52:22.000000000 +0100
++++ SDL_Pango-0.1.2/config.guess	2009-10-13 01:07:12.000000000 +0200
+@@ -1,9 +1,10 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++#   Free Software Foundation, Inc.
+ 
+-timestamp='2003-02-22'
++timestamp='2009-09-18'
+ 
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -17,23 +18,25 @@
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
++# 02110-1301, USA.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+ # the same distribution terms that you use for the rest of that program.
+ 
+-# Originally written by Per Bothner <per@bothner.com>.
+-# Please send patches to <config-patches@gnu.org>.  Submit a context
+-# diff and a properly formatted ChangeLog entry.
++
++# Originally written by Per Bothner.  Please send patches (context
++# diff format) to <config-patches@gnu.org> and include a ChangeLog
++# entry.
+ #
+ # This script attempts to guess a canonical system name similar to
+ # config.sub.  If it succeeds, it prints the system name on stdout, and
+ # exits with 0.  Otherwise, it exits with 1.
+ #
+-# The plan is that this can be called by configure scripts if you
+-# don't specify an explicit build system type.
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ 
+ me=`echo "$0" | sed -e 's,.*/,,'`
+ 
+@@ -53,8 +56,8 @@
+ GNU config.guess ($timestamp)
+ 
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+-Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ 
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -66,11 +69,11 @@
+ while test $# -gt 0 ; do
+   case $1 in
+     --time-stamp | --time* | -t )
+-       echo "$timestamp" ; exit 0 ;;
++       echo "$timestamp" ; exit ;;
+     --version | -v )
+-       echo "$version" ; exit 0 ;;
++       echo "$version" ; exit ;;
+     --help | --h* | -h )
+-       echo "$usage"; exit 0 ;;
++       echo "$usage"; exit ;;
+     -- )     # Stop option processing
+        shift; break ;;
+     - )	# Use stdin as input.
+@@ -104,8 +107,9 @@
+ trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+ : ${TMPDIR=/tmp} ;
+- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+ dummy=$tmp/dummy ;
+ tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+@@ -122,7 +126,7 @@
+ 	;;
+  ,,*)   CC_FOR_BUILD=$CC ;;
+  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+-esac ;'
++esac ; set_cc_for_build= ;'
+ 
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+ # (ghazi@noc.rutgers.edu 1994-08-24)
+@@ -157,6 +161,7 @@
+ 	    arm*) machine=arm-unknown ;;
+ 	    sh3el) machine=shl-unknown ;;
+ 	    sh3eb) machine=sh-unknown ;;
++	    sh5el) machine=sh5le-unknown ;;
+ 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ 	esac
+ 	# The Operating System including object format, if it has switched
+@@ -165,7 +170,7 @@
+ 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ 		eval $set_cc_for_build
+ 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+-			| grep __ELF__ >/dev/null
++			| grep -q __ELF__
+ 		then
+ 		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ 		    # Return netbsd for either.  FIX?
+@@ -195,50 +200,32 @@
+ 	# contains redundant information, the shorter form:
+ 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ 	echo "${machine}-${os}${release}"
+-	exit 0 ;;
+-    amiga:OpenBSD:*:*)
+-	echo m68k-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    arc:OpenBSD:*:*)
+-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    hp300:OpenBSD:*:*)
+-	echo m68k-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    mac68k:OpenBSD:*:*)
+-	echo m68k-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    macppc:OpenBSD:*:*)
+-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    mvme68k:OpenBSD:*:*)
+-	echo m68k-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    mvme88k:OpenBSD:*:*)
+-	echo m88k-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    mvmeppc:OpenBSD:*:*)
+-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    pmax:OpenBSD:*:*)
+-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    sgi:OpenBSD:*:*)
+-	echo mipseb-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    sun3:OpenBSD:*:*)
+-	echo m68k-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
+-    wgrisc:OpenBSD:*:*)
+-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:OpenBSD:*:*)
+-	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+-	exit 0 ;;
++	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
++	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
++	exit ;;
++    *:ekkoBSD:*:*)
++	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++	exit ;;
++    *:SolidBSD:*:*)
++	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
++	exit ;;
++    macppc:MirBSD:*:*)
++	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
++	exit ;;
++    *:MirBSD:*:*)
++	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++	exit ;;
+     alpha:OSF1:*:*)
+-	if test $UNAME_RELEASE = "V4.0"; then
++	case $UNAME_RELEASE in
++	*4.0)
+ 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+-	fi
++		;;
++	*5.*)
++	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++		;;
++	esac
+ 	# According to Compaq, /usr/sbin/psrinfo has been available on
+ 	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+ 	# covers most systems running today.  This code pipes the CPU
+@@ -276,39 +263,49 @@
+ 	    "EV7.9 (21364A)")
+ 		UNAME_MACHINE="alphaev79" ;;
+ 	esac
++	# A Pn.n version is a patched version.
+ 	# A Vn.n version is a released version.
+ 	# A Tn.n version is a released field test version.
+ 	# A Xn.n version is an unreleased experimental baselevel.
+ 	# 1.2 uses "1.2" for uname -r.
+-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-	exit 0 ;;
++	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++	exit ;;
+     Alpha\ *:Windows_NT*:*)
+ 	# How do we know it's Interix rather than the generic POSIX subsystem?
+ 	# Should we change UNAME_MACHINE based on the output of uname instead
+ 	# of the specific Alpha model?
+ 	echo alpha-pc-interix
+-	exit 0 ;;
++	exit ;;
+     21064:Windows_NT:50:3)
+ 	echo alpha-dec-winnt3.5
+-	exit 0 ;;
++	exit ;;
+     Amiga*:UNIX_System_V:4.0:*)
+ 	echo m68k-unknown-sysv4
+-	exit 0;;
++	exit ;;
+     *:[Aa]miga[Oo][Ss]:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-amigaos
+-	exit 0 ;;
++	exit ;;
+     *:[Mm]orph[Oo][Ss]:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-morphos
+-	exit 0 ;;
++	exit ;;
+     *:OS/390:*:*)
+ 	echo i370-ibm-openedition
+-	exit 0 ;;
++	exit ;;
++    *:z/VM:*:*)
++	echo s390-ibm-zvmoe
++	exit ;;
++    *:OS400:*:*)
++        echo powerpc-ibm-os400
++	exit ;;
+     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ 	echo arm-acorn-riscix${UNAME_RELEASE}
+-	exit 0;;
++	exit ;;
++    arm:riscos:*:*|arm:RISCOS:*:*)
++	echo arm-unknown-riscos
++	exit ;;
+     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ 	echo hppa1.1-hitachi-hiuxmpp
+-	exit 0;;
++	exit ;;
+     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ 	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ 	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+@@ -316,29 +313,48 @@
+ 	else
+ 		echo pyramid-pyramid-bsd
+ 	fi
+-	exit 0 ;;
++	exit ;;
+     NILE*:*:*:dcosx)
+ 	echo pyramid-pyramid-svr4
+-	exit 0 ;;
+-    DRS?6000:UNIX_SV:4.2*:7*)
++	exit ;;
++    DRS?6000:unix:4.0:6*)
++	echo sparc-icl-nx6
++	exit ;;
++    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ 	case `/usr/bin/uname -p` in
+-	    sparc) echo sparc-icl-nx7 && exit 0 ;;
++	    sparc) echo sparc-icl-nx7; exit ;;
+ 	esac ;;
++    s390x:SunOS:*:*)
++	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
+     sun4H:SunOS:5.*:*)
+ 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+-	exit 0 ;;
++	exit ;;
+     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+-	exit 0 ;;
+-    i86pc:SunOS:5.*:*)
+-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+-	exit 0 ;;
++	exit ;;
++    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
++	eval $set_cc_for_build
++	SUN_ARCH="i386"
++	# If there is a compiler, see if it is configured for 64-bit objects.
++	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
++	# This test works for both compilers.
++	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
++		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++		grep IS_64BIT_ARCH >/dev/null
++	    then
++		SUN_ARCH="x86_64"
++	    fi
++	fi
++	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
+     sun4*:SunOS:6*:*)
+ 	# According to config.sub, this is the proper way to canonicalize
+ 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+ 	# it's likely to be more like Solaris than SunOS4.
+ 	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+-	exit 0 ;;
++	exit ;;
+     sun4*:SunOS:*:*)
+ 	case "`/usr/bin/arch -k`" in
+ 	    Series*|S4*)
+@@ -347,10 +363,10 @@
+ 	esac
+ 	# Japanese Language versions have a version number like `4.1.3-JL'.
+ 	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+-	exit 0 ;;
++	exit ;;
+     sun3*:SunOS:*:*)
+ 	echo m68k-sun-sunos${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     sun*:*:4.2BSD:*)
+ 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ 	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+@@ -362,10 +378,10 @@
+ 		echo sparc-sun-sunos${UNAME_RELEASE}
+ 		;;
+ 	esac
+-	exit 0 ;;
++	exit ;;
+     aushp:SunOS:*:*)
+ 	echo sparc-auspex-sunos${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     # The situation for MiNT is a little confusing.  The machine name
+     # can be virtually everything (everything which is not
+     # "atarist" or "atariste" at least should have a processor
+@@ -376,37 +392,40 @@
+     # be no problem.
+     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+         echo m68k-atari-mint${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ 	echo m68k-atari-mint${UNAME_RELEASE}
+-        exit 0 ;;
++        exit ;;
+     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+         echo m68k-atari-mint${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+         echo m68k-milan-mint${UNAME_RELEASE}
+-        exit 0 ;;
++        exit ;;
+     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+         echo m68k-hades-mint${UNAME_RELEASE}
+-        exit 0 ;;
++        exit ;;
+     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+         echo m68k-unknown-mint${UNAME_RELEASE}
+-        exit 0 ;;
++        exit ;;
++    m68k:machten:*:*)
++	echo m68k-apple-machten${UNAME_RELEASE}
++	exit ;;
+     powerpc:machten:*:*)
+ 	echo powerpc-apple-machten${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     RISC*:Mach:*:*)
+ 	echo mips-dec-mach_bsd4.3
+-	exit 0 ;;
++	exit ;;
+     RISC*:ULTRIX:*:*)
+ 	echo mips-dec-ultrix${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     VAX*:ULTRIX*:*:*)
+ 	echo vax-dec-ultrix${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     2020:CLIX:*:* | 2430:CLIX:*:*)
+ 	echo clipper-intergraph-clix${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     mips:*:*:UMIPS | mips:*:*:RISCos)
+ 	eval $set_cc_for_build
+ 	sed 's/^	//' << EOF >$dummy.c
+@@ -430,32 +449,33 @@
+ 	  exit (-1);
+ 	}
+ EOF
+-	$CC_FOR_BUILD -o $dummy $dummy.c \
+-	  && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+-	  && exit 0
++	$CC_FOR_BUILD -o $dummy $dummy.c &&
++	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
++	  SYSTEM_NAME=`$dummy $dummyarg` &&
++	    { echo "$SYSTEM_NAME"; exit; }
+ 	echo mips-mips-riscos${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     Motorola:PowerMAX_OS:*:*)
+ 	echo powerpc-motorola-powermax
+-	exit 0 ;;
++	exit ;;
+     Motorola:*:4.3:PL8-*)
+ 	echo powerpc-harris-powermax
+-	exit 0 ;;
++	exit ;;
+     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ 	echo powerpc-harris-powermax
+-	exit 0 ;;
++	exit ;;
+     Night_Hawk:Power_UNIX:*:*)
+ 	echo powerpc-harris-powerunix
+-	exit 0 ;;
++	exit ;;
+     m88k:CX/UX:7*:*)
+ 	echo m88k-harris-cxux7
+-	exit 0 ;;
++	exit ;;
+     m88k:*:4*:R4*)
+ 	echo m88k-motorola-sysv4
+-	exit 0 ;;
++	exit ;;
+     m88k:*:3*:R3*)
+ 	echo m88k-motorola-sysv3
+-	exit 0 ;;
++	exit ;;
+     AViiON:dgux:*:*)
+         # DG/UX returns AViiON for all architectures
+         UNAME_PROCESSOR=`/usr/bin/uname -p`
+@@ -471,29 +491,29 @@
+ 	else
+ 	    echo i586-dg-dgux${UNAME_RELEASE}
+ 	fi
+- 	exit 0 ;;
++ 	exit ;;
+     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+ 	echo m88k-dolphin-sysv3
+-	exit 0 ;;
++	exit ;;
+     M88*:*:R3*:*)
+ 	# Delta 88k system running SVR3
+ 	echo m88k-motorola-sysv3
+-	exit 0 ;;
++	exit ;;
+     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ 	echo m88k-tektronix-sysv3
+-	exit 0 ;;
++	exit ;;
+     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ 	echo m68k-tektronix-bsd
+-	exit 0 ;;
++	exit ;;
+     *:IRIX*:*:*)
+ 	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+-	exit 0 ;;
++	exit ;;
+     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
++	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
++	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+     i*86:AIX:*:*)
+ 	echo i386-ibm-aix
+-	exit 0 ;;
++	exit ;;
+     ia64:AIX:*:*)
+ 	if [ -x /usr/bin/oslevel ] ; then
+ 		IBM_REV=`/usr/bin/oslevel`
+@@ -501,7 +521,7 @@
+ 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ 	fi
+ 	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+-	exit 0 ;;
++	exit ;;
+     *:AIX:2:3)
+ 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ 		eval $set_cc_for_build
+@@ -516,15 +536,19 @@
+ 			exit(0);
+ 			}
+ EOF
+-		$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+-		echo rs6000-ibm-aix3.2.5
++		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
++		then
++			echo "$SYSTEM_NAME"
++		else
++			echo rs6000-ibm-aix3.2.5
++		fi
+ 	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ 		echo rs6000-ibm-aix3.2.4
+ 	else
+ 		echo rs6000-ibm-aix3.2
+ 	fi
+-	exit 0 ;;
+-    *:AIX:*:[45])
++	exit ;;
++    *:AIX:*:[456])
+ 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ 		IBM_ARCH=rs6000
+@@ -537,28 +561,28 @@
+ 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ 	fi
+ 	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+-	exit 0 ;;
++	exit ;;
+     *:AIX:*:*)
+ 	echo rs6000-ibm-aix
+-	exit 0 ;;
++	exit ;;
+     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ 	echo romp-ibm-bsd4.4
+-	exit 0 ;;
++	exit ;;
+     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+ 	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+-	exit 0 ;;                           # report: romp-ibm BSD 4.3
++	exit ;;                             # report: romp-ibm BSD 4.3
+     *:BOSX:*:*)
+ 	echo rs6000-bull-bosx
+-	exit 0 ;;
++	exit ;;
+     DPX/2?00:B.O.S.:*:*)
+ 	echo m68k-bull-sysv3
+-	exit 0 ;;
++	exit ;;
+     9000/[34]??:4.3bsd:1.*:*)
+ 	echo m68k-hp-bsd
+-	exit 0 ;;
++	exit ;;
+     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ 	echo m68k-hp-bsd4.4
+-	exit 0 ;;
++	exit ;;
+     9000/[34678]??:HP-UX:*:*)
+ 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ 	case "${UNAME_MACHINE}" in
+@@ -620,9 +644,19 @@
+ 	esac
+ 	if [ ${HP_ARCH} = "hppa2.0w" ]
+ 	then
+-	    # avoid double evaluation of $set_cc_for_build
+-	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
++	    eval $set_cc_for_build
++
++	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
++	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
++	    # generating 64-bit code.  GNU and HP use different nomenclature:
++	    #
++	    # $ CC_FOR_BUILD=cc ./config.guess
++	    # => hppa2.0w-hp-hpux11.23
++	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
++	    # => hppa64-hp-hpux11.23
++
++	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
++		grep -q __LP64__
+ 	    then
+ 		HP_ARCH="hppa2.0w"
+ 	    else
+@@ -630,11 +664,11 @@
+ 	    fi
+ 	fi
+ 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+-	exit 0 ;;
++	exit ;;
+     ia64:HP-UX:*:*)
+ 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ 	echo ia64-hp-hpux${HPUX_REV}
+-	exit 0 ;;
++	exit ;;
+     3050*:HI-UX:*:*)
+ 	eval $set_cc_for_build
+ 	sed 's/^	//' << EOF >$dummy.c
+@@ -662,208 +696,244 @@
+ 	  exit (0);
+ 	}
+ EOF
+-	$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
++	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
++		{ echo "$SYSTEM_NAME"; exit; }
+ 	echo unknown-hitachi-hiuxwe2
+-	exit 0 ;;
++	exit ;;
+     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ 	echo hppa1.1-hp-bsd
+-	exit 0 ;;
++	exit ;;
+     9000/8??:4.3bsd:*:*)
+ 	echo hppa1.0-hp-bsd
+-	exit 0 ;;
++	exit ;;
+     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ 	echo hppa1.0-hp-mpeix
+-	exit 0 ;;
++	exit ;;
+     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ 	echo hppa1.1-hp-osf
+-	exit 0 ;;
++	exit ;;
+     hp8??:OSF1:*:*)
+ 	echo hppa1.0-hp-osf
+-	exit 0 ;;
++	exit ;;
+     i*86:OSF1:*:*)
+ 	if [ -x /usr/sbin/sysversion ] ; then
+ 	    echo ${UNAME_MACHINE}-unknown-osf1mk
+ 	else
+ 	    echo ${UNAME_MACHINE}-unknown-osf1
+ 	fi
+-	exit 0 ;;
++	exit ;;
+     parisc*:Lites*:*:*)
+ 	echo hppa1.1-hp-lites
+-	exit 0 ;;
++	exit ;;
+     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ 	echo c1-convex-bsd
+-        exit 0 ;;
++        exit ;;
+     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ 	if getsysinfo -f scalar_acc
+ 	then echo c32-convex-bsd
+ 	else echo c2-convex-bsd
+ 	fi
+-        exit 0 ;;
++        exit ;;
+     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ 	echo c34-convex-bsd
+-        exit 0 ;;
++        exit ;;
+     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ 	echo c38-convex-bsd
+-        exit 0 ;;
++        exit ;;
+     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ 	echo c4-convex-bsd
+-        exit 0 ;;
++        exit ;;
+     CRAY*Y-MP:*:*:*)
+ 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+-	exit 0 ;;
++	exit ;;
+     CRAY*[A-Z]90:*:*:*)
+ 	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ 	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ 	      -e 's/\.[^.]*$/.X/'
+-	exit 0 ;;
++	exit ;;
+     CRAY*TS:*:*:*)
+ 	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+-	exit 0 ;;
++	exit ;;
+     CRAY*T3E:*:*:*)
+ 	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+-	exit 0 ;;
++	exit ;;
+     CRAY*SV1:*:*:*)
+ 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+-	exit 0 ;;
++	exit ;;
+     *:UNICOS/mp:*:*)
+-	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
+-	exit 0 ;;
++	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++	exit ;;
+     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+-        exit 0 ;;
++        exit ;;
++    5000:UNIX_System_V:4.*:*)
++        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++	exit ;;
+     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     sparc*:BSD/OS:*:*)
+ 	echo sparc-unknown-bsdi${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:BSD/OS:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:FreeBSD:*:*)
+-	# Determine whether the default compiler uses glibc.
+-	eval $set_cc_for_build
+-	sed 's/^	//' << EOF >$dummy.c
+-	#include <features.h>
+-	#if __GLIBC__ >= 2
+-	LIBC=gnu
+-	#else
+-	LIBC=
+-	#endif
+-EOF
+-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+-	exit 0 ;;
+-    i*:MSYS*:*)
+-	echo ${UNAME_MACHINE}-pc-msys
+-	exit 0 ;;
++	case ${UNAME_MACHINE} in
++	    pc98)
++		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	    amd64)
++		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	    *)
++		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	esac
++	exit ;;
+     i*:CYGWIN*:*)
+ 	echo ${UNAME_MACHINE}-pc-cygwin
+-	exit 0 ;;
+-    i*:MINGW*:*)
++	exit ;;
++    *:MINGW*:*)
+ 	echo ${UNAME_MACHINE}-pc-mingw32
+-	exit 0 ;;
++	exit ;;
++    i*:windows32*:*)
++    	# uname -m includes "-pc" on this system.
++    	echo ${UNAME_MACHINE}-mingw32
++	exit ;;
+     i*:PW*:*)
+ 	echo ${UNAME_MACHINE}-pc-pw32
+-	exit 0 ;;
+-    x86:Interix*:3*)
+-	echo i586-pc-interix3
+-	exit 0 ;;
++	exit ;;
++    *:Interix*:[3456]*)
++    	case ${UNAME_MACHINE} in
++	    x86)
++		echo i586-pc-interix${UNAME_RELEASE}
++		exit ;;
++	    EM64T | authenticamd | genuineintel)
++		echo x86_64-unknown-interix${UNAME_RELEASE}
++		exit ;;
++	    IA64)
++		echo ia64-unknown-interix${UNAME_RELEASE}
++		exit ;;
++	esac ;;
+     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ 	echo i${UNAME_MACHINE}-pc-mks
+-	exit 0 ;;
++	exit ;;
++    8664:Windows_NT:*)
++	echo x86_64-pc-mks
++	exit ;;
+     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ 	# How do we know it's Interix rather than the generic POSIX subsystem?
+ 	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ 	# UNAME_MACHINE based on the output of uname instead of i386?
+ 	echo i586-pc-interix
+-	exit 0 ;;
++	exit ;;
+     i*:UWIN*:*)
+ 	echo ${UNAME_MACHINE}-pc-uwin
+-	exit 0 ;;
++	exit ;;
++    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
++	echo x86_64-unknown-cygwin
++	exit ;;
+     p*:CYGWIN*:*)
+ 	echo powerpcle-unknown-cygwin
+-	exit 0 ;;
++	exit ;;
+     prep*:SunOS:5.*:*)
+ 	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+-	exit 0 ;;
++	exit ;;
+     *:GNU:*:*)
++	# the GNU system
+ 	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+-	exit 0 ;;
++	exit ;;
++    *:GNU/*:*:*)
++	# other systems with GNU libc and userland
++	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
++	exit ;;
+     i*86:Minix:*:*)
+ 	echo ${UNAME_MACHINE}-pc-minix
+-	exit 0 ;;
++	exit ;;
++    alpha:Linux:*:*)
++	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
++	  EV5)   UNAME_MACHINE=alphaev5 ;;
++	  EV56)  UNAME_MACHINE=alphaev56 ;;
++	  PCA56) UNAME_MACHINE=alphapca56 ;;
++	  PCA57) UNAME_MACHINE=alphapca56 ;;
++	  EV6)   UNAME_MACHINE=alphaev6 ;;
++	  EV67)  UNAME_MACHINE=alphaev67 ;;
++	  EV68*) UNAME_MACHINE=alphaev68 ;;
++        esac
++	objdump --private-headers /bin/sh | grep -q ld.so.1
++	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
++	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
++	exit ;;
+     arm*:Linux:*:*)
++	eval $set_cc_for_build
++	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
++	    | grep -q __ARM_EABI__
++	then
++	    echo ${UNAME_MACHINE}-unknown-linux-gnu
++	else
++	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++	fi
++	exit ;;
++    avr32*:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-linux-gnu
+-	exit 0 ;;
++	exit ;;
++    cris:Linux:*:*)
++	echo cris-axis-linux-gnu
++	exit ;;
++    crisv32:Linux:*:*)
++	echo crisv32-axis-linux-gnu
++	exit ;;
++    frv:Linux:*:*)
++    	echo frv-unknown-linux-gnu
++	exit ;;
++    i*86:Linux:*:*)
++	echo ${UNAME_MACHINE}-pc-linux-gnu
++	exit ;;
+     ia64:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-linux-gnu
+-	exit 0 ;;
++	exit ;;
++    m32r*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
+     m68*:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-linux-gnu
+-	exit 0 ;;
+-    mips:Linux:*:*)
+-	eval $set_cc_for_build
+-	sed 's/^	//' << EOF >$dummy.c
+-	#undef CPU
+-	#undef mips
+-	#undef mipsel
+-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+-	CPU=mipsel
+-	#else
+-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+-	CPU=mips
+-	#else
+-	CPU=
+-	#endif
+-	#endif
+-EOF
+-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+-	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+-	;;
+-    mips64:Linux:*:*)
++	exit ;;
++    mips:Linux:*:* | mips64:Linux:*:*)
+ 	eval $set_cc_for_build
+ 	sed 's/^	//' << EOF >$dummy.c
+ 	#undef CPU
+-	#undef mips64
+-	#undef mips64el
++	#undef ${UNAME_MACHINE}
++	#undef ${UNAME_MACHINE}el
+ 	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+-	CPU=mips64el
++	CPU=${UNAME_MACHINE}el
+ 	#else
+ 	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+-	CPU=mips64
++	CPU=${UNAME_MACHINE}
+ 	#else
+ 	CPU=
+ 	#endif
+ 	#endif
+ EOF
+-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+-	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
++	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
++	    /^CPU/{
++		s: ::g
++		p
++	    }'`"
++	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ 	;;
+-    ppc:Linux:*:*)
+-	echo powerpc-unknown-linux-gnu
+-	exit 0 ;;
+-    ppc64:Linux:*:*)
+-	echo powerpc64-unknown-linux-gnu
+-	exit 0 ;;
+-    alpha:Linux:*:*)
+-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+-	  EV5)   UNAME_MACHINE=alphaev5 ;;
+-	  EV56)  UNAME_MACHINE=alphaev56 ;;
+-	  PCA56) UNAME_MACHINE=alphapca56 ;;
+-	  PCA57) UNAME_MACHINE=alphapca56 ;;
+-	  EV6)   UNAME_MACHINE=alphaev6 ;;
+-	  EV67)  UNAME_MACHINE=alphaev67 ;;
+-	  EV68*) UNAME_MACHINE=alphaev68 ;;
+-        esac
+-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+-	exit 0 ;;
++    or32:Linux:*:*)
++	echo or32-unknown-linux-gnu
++	exit ;;
++    padre:Linux:*:*)
++	echo sparc-unknown-linux-gnu
++	exit ;;
++    parisc64:Linux:*:* | hppa64:Linux:*:*)
++	echo hppa64-unknown-linux-gnu
++	exit ;;
+     parisc:Linux:*:* | hppa:Linux:*:*)
+ 	# Look for CPU level
+ 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+@@ -871,81 +941,40 @@
+ 	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ 	  *)    echo hppa-unknown-linux-gnu ;;
+ 	esac
+-	exit 0 ;;
+-    parisc64:Linux:*:* | hppa64:Linux:*:*)
+-	echo hppa64-unknown-linux-gnu
+-	exit 0 ;;
++	exit ;;
++    ppc64:Linux:*:*)
++	echo powerpc64-unknown-linux-gnu
++	exit ;;
++    ppc:Linux:*:*)
++	echo powerpc-unknown-linux-gnu
++	exit ;;
+     s390:Linux:*:* | s390x:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-ibm-linux
+-	exit 0 ;;
++	exit ;;
++    sh64*:Linux:*:*)
++    	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
+     sh*:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-linux-gnu
+-	exit 0 ;;
++	exit ;;
+     sparc:Linux:*:* | sparc64:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-linux-gnu
+-	exit 0 ;;
++	exit ;;
++    vax:Linux:*:*)
++	echo ${UNAME_MACHINE}-dec-linux-gnu
++	exit ;;
+     x86_64:Linux:*:*)
+ 	echo x86_64-unknown-linux-gnu
+-	exit 0 ;;
+-    i*86:Linux:*:*)
+-	# The BFD linker knows what the default object file format is, so
+-	# first see if it will tell us. cd to the root directory to prevent
+-	# problems with other programs or directories called `ld' in the path.
+-	# Set LC_ALL=C to ensure ld outputs messages in English.
+-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+-			 | sed -ne '/supported targets:/!d
+-				    s/[ 	][ 	]*/ /g
+-				    s/.*supported targets: *//
+-				    s/ .*//
+-				    p'`
+-        case "$ld_supported_targets" in
+-	  elf32-i386)
+-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+-		;;
+-	  a.out-i386-linux)
+-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+-		exit 0 ;;
+-	  coff-i386)
+-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+-		exit 0 ;;
+-	  "")
+-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+-		# one that does not give us useful --help.
+-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+-		exit 0 ;;
+-	esac
+-	# Determine whether the default compiler is a.out or elf
+-	eval $set_cc_for_build
+-	sed 's/^	//' << EOF >$dummy.c
+-	#include <features.h>
+-	#ifdef __ELF__
+-	# ifdef __GLIBC__
+-	#  if __GLIBC__ >= 2
+-	LIBC=gnu
+-	#  else
+-	LIBC=gnulibc1
+-	#  endif
+-	# else
+-	LIBC=gnulibc1
+-	# endif
+-	#else
+-	#ifdef __INTEL_COMPILER
+-	LIBC=gnu
+-	#else
+-	LIBC=gnuaout
+-	#endif
+-	#endif
+-EOF
+-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+-	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+-	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+-	;;
++	exit ;;
++    xtensa*:Linux:*:*)
++    	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
+     i*86:DYNIX/ptx:4*:*)
+ 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ 	# earlier versions are messed up and put the nodename in both
+ 	# sysname and nodename.
+ 	echo i386-sequent-sysv4
+-	exit 0 ;;
++	exit ;;
+     i*86:UNIX_SV:4.2MP:2.*)
+         # Unixware is an offshoot of SVR4, but it has its own version
+         # number series starting with 2...
+@@ -953,24 +982,27 @@
+ 	# I just have to hope.  -- rms.
+         # Use sysv4.2uw... so that sysv4* matches it.
+ 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+-	exit 0 ;;
++	exit ;;
+     i*86:OS/2:*:*)
+ 	# If we were able to find `uname', then EMX Unix compatibility
+ 	# is probably installed.
+ 	echo ${UNAME_MACHINE}-pc-os2-emx
+-	exit 0 ;;
++	exit ;;
+     i*86:XTS-300:*:STOP)
+ 	echo ${UNAME_MACHINE}-unknown-stop
+-	exit 0 ;;
++	exit ;;
+     i*86:atheos:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-atheos
+-	exit 0 ;;
+-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
++	exit ;;
++    i*86:syllable:*:*)
++	echo ${UNAME_MACHINE}-pc-syllable
++	exit ;;
++    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ 	echo i386-unknown-lynxos${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     i*86:*DOS:*:*)
+ 	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+-	exit 0 ;;
++	exit ;;
+     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+@@ -978,15 +1010,16 @@
+ 	else
+ 		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ 	fi
+-	exit 0 ;;
+-    i*86:*:5:[78]*)
++	exit ;;
++    i*86:*:5:[678]*)
++    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+ 	case `/bin/uname -X | grep "^Machine"` in
+ 	    *486*)	     UNAME_MACHINE=i486 ;;
+ 	    *Pentium)	     UNAME_MACHINE=i586 ;;
+ 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ 	esac
+ 	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+-	exit 0 ;;
++	exit ;;
+     i*86:*:3.2:*)
+ 	if test -f /usr/options/cb.name; then
+ 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+@@ -1004,73 +1037,86 @@
+ 	else
+ 		echo ${UNAME_MACHINE}-pc-sysv32
+ 	fi
+-	exit 0 ;;
++	exit ;;
+     pc:*:*:*)
+ 	# Left here for compatibility:
+         # uname -m prints for DJGPP always 'pc', but it prints nothing about
+-        # the processor, so we play safe by assuming i386.
+-	echo i386-pc-msdosdjgpp
+-        exit 0 ;;
++        # the processor, so we play safe by assuming i586.
++	# Note: whatever this is, it MUST be the same as what config.sub
++	# prints for the "djgpp" host, or else GDB configury will decide that
++	# this is a cross-build.
++	echo i586-pc-msdosdjgpp
++        exit ;;
+     Intel:Mach:3*:*)
+ 	echo i386-pc-mach3
+-	exit 0 ;;
++	exit ;;
+     paragon:*:*:*)
+ 	echo i860-intel-osf1
+-	exit 0 ;;
++	exit ;;
+     i860:*:4.*:*) # i860-SVR4
+ 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ 	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ 	else # Add other i860-SVR4 vendors below as they are discovered.
+ 	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+ 	fi
+-	exit 0 ;;
++	exit ;;
+     mini*:CTIX:SYS*5:*)
+ 	# "miniframe"
+ 	echo m68010-convergent-sysv
+-	exit 0 ;;
++	exit ;;
+     mc68k:UNIX:SYSTEM5:3.51m)
+ 	echo m68k-convergent-sysv
+-	exit 0 ;;
++	exit ;;
+     M680?0:D-NIX:5.3:*)
+ 	echo m68k-diab-dnix
+-	exit 0 ;;
+-    M68*:*:R3V[567]*:*)
+-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0)
++	exit ;;
++    M68*:*:R3V[5678]*:*)
++	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
++    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ 	OS_REL=''
+ 	test -r /etc/.relid \
+ 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
++	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
++	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+-          && echo i486-ncr-sysv4 && exit 0 ;;
++          && { echo i486-ncr-sysv4; exit; } ;;
++    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
++	OS_REL='.3'
++	test -r /etc/.relid \
++	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
++	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
++	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
++	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
++	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
++	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ 	echo m68k-unknown-lynxos${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     mc68030:UNIX_System_V:4.*:*)
+ 	echo m68k-atari-sysv4
+-	exit 0 ;;
++	exit ;;
+     TSUNAMI:LynxOS:2.*:*)
+ 	echo sparc-unknown-lynxos${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     rs6000:LynxOS:2.*:*)
+ 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+-	exit 0 ;;
+-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
++	exit ;;
++    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     SM[BE]S:UNIX_SV:*:*)
+ 	echo mips-dde-sysv${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     RM*:ReliantUNIX-*:*:*)
+ 	echo mips-sni-sysv4
+-	exit 0 ;;
++	exit ;;
+     RM*:SINIX-*:*:*)
+ 	echo mips-sni-sysv4
+-	exit 0 ;;
++	exit ;;
+     *:SINIX-*:*:*)
+ 	if uname -p 2>/dev/null >/dev/null ; then
+ 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+@@ -1078,68 +1124,94 @@
+ 	else
+ 		echo ns32k-sni-sysv
+ 	fi
+-	exit 0 ;;
++	exit ;;
+     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                       # says <Richard.M.Bartel@ccMail.Census.GOV>
+         echo i586-unisys-sysv4
+-        exit 0 ;;
++        exit ;;
+     *:UNIX_System_V:4*:FTX*)
+ 	# From Gerald Hewes <hewes@openmarket.com>.
+ 	# How about differentiating between stratus architectures? -djm
+ 	echo hppa1.1-stratus-sysv4
+-	exit 0 ;;
++	exit ;;
+     *:*:*:FTX*)
+ 	# From seanf@swdc.stratus.com.
+ 	echo i860-stratus-sysv4
+-	exit 0 ;;
++	exit ;;
++    i*86:VOS:*:*)
++	# From Paul.Green@stratus.com.
++	echo ${UNAME_MACHINE}-stratus-vos
++	exit ;;
+     *:VOS:*:*)
+ 	# From Paul.Green@stratus.com.
+ 	echo hppa1.1-stratus-vos
+-	exit 0 ;;
++	exit ;;
+     mc68*:A/UX:*:*)
+ 	echo m68k-apple-aux${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     news*:NEWS-OS:6*:*)
+ 	echo mips-sony-newsos6
+-	exit 0 ;;
++	exit ;;
+     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ 	if [ -d /usr/nec ]; then
+ 	        echo mips-nec-sysv${UNAME_RELEASE}
+ 	else
+ 	        echo mips-unknown-sysv${UNAME_RELEASE}
+ 	fi
+-        exit 0 ;;
++        exit ;;
+     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+ 	echo powerpc-be-beos
+-	exit 0 ;;
++	exit ;;
+     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+ 	echo powerpc-apple-beos
+-	exit 0 ;;
++	exit ;;
+     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+ 	echo i586-pc-beos
+-	exit 0 ;;
++	exit ;;
++    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
++	echo i586-pc-haiku
++	exit ;;
+     SX-4:SUPER-UX:*:*)
+ 	echo sx4-nec-superux${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     SX-5:SUPER-UX:*:*)
+ 	echo sx5-nec-superux${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     SX-6:SUPER-UX:*:*)
+ 	echo sx6-nec-superux${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
++    SX-7:SUPER-UX:*:*)
++	echo sx7-nec-superux${UNAME_RELEASE}
++	exit ;;
++    SX-8:SUPER-UX:*:*)
++	echo sx8-nec-superux${UNAME_RELEASE}
++	exit ;;
++    SX-8R:SUPER-UX:*:*)
++	echo sx8r-nec-superux${UNAME_RELEASE}
++	exit ;;
+     Power*:Rhapsody:*:*)
+ 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:Rhapsody:*:*)
+ 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:Darwin:*:*)
+-	case `uname -p` in
+-	    *86) UNAME_PROCESSOR=i686 ;;
+-	    powerpc) UNAME_PROCESSOR=powerpc ;;
++	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
++	case $UNAME_PROCESSOR in
++	    i386)
++		eval $set_cc_for_build
++		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
++		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++		      grep IS_64BIT_ARCH >/dev/null
++		  then
++		      UNAME_PROCESSOR="x86_64"
++		  fi
++		fi ;;
++	    unknown) UNAME_PROCESSOR=powerpc ;;
+ 	esac
+ 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ 	UNAME_PROCESSOR=`uname -p`
+ 	if test "$UNAME_PROCESSOR" = "x86"; then
+@@ -1147,22 +1219,25 @@
+ 		UNAME_MACHINE=pc
+ 	fi
+ 	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:QNX:*:4*)
+ 	echo i386-pc-qnx
+-	exit 0 ;;
+-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
++	exit ;;
++    NSE-?:NONSTOP_KERNEL:*:*)
++	echo nse-tandem-nsk${UNAME_RELEASE}
++	exit ;;
++    NSR-?:NONSTOP_KERNEL:*:*)
+ 	echo nsr-tandem-nsk${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:NonStop-UX:*:*)
+ 	echo mips-compaq-nonstopux
+-	exit 0 ;;
++	exit ;;
+     BS2000:POSIX*:*:*)
+ 	echo bs2000-siemens-sysv
+-	exit 0 ;;
++	exit ;;
+     DS/*:UNIX_System_V:*:*)
+ 	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+-	exit 0 ;;
++	exit ;;
+     *:Plan9:*:*)
+ 	# "uname -m" is not consistent, so use $cputype instead. 386
+ 	# is converted to i386 for consistency with other x86
+@@ -1173,25 +1248,50 @@
+ 	    UNAME_MACHINE="$cputype"
+ 	fi
+ 	echo ${UNAME_MACHINE}-unknown-plan9
+-	exit 0 ;;
++	exit ;;
+     *:TOPS-10:*:*)
+ 	echo pdp10-unknown-tops10
+-	exit 0 ;;
++	exit ;;
+     *:TENEX:*:*)
+ 	echo pdp10-unknown-tenex
+-	exit 0 ;;
++	exit ;;
+     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ 	echo pdp10-dec-tops20
+-	exit 0 ;;
++	exit ;;
+     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ 	echo pdp10-xkl-tops20
+-	exit 0 ;;
++	exit ;;
+     *:TOPS-20:*:*)
+ 	echo pdp10-unknown-tops20
+-	exit 0 ;;
++	exit ;;
+     *:ITS:*:*)
+ 	echo pdp10-unknown-its
+-	exit 0 ;;
++	exit ;;
++    SEI:*:*:SEIUX)
++        echo mips-sei-seiux${UNAME_RELEASE}
++	exit ;;
++    *:DragonFly:*:*)
++	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++	exit ;;
++    *:*VMS:*:*)
++    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
++	case "${UNAME_MACHINE}" in
++	    A*) echo alpha-dec-vms ; exit ;;
++	    I*) echo ia64-dec-vms ; exit ;;
++	    V*) echo vax-dec-vms ; exit ;;
++	esac ;;
++    *:XENIX:*:SysV)
++	echo i386-pc-xenix
++	exit ;;
++    i*86:skyos:*:*)
++	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
++	exit ;;
++    i*86:rdos:*:*)
++	echo ${UNAME_MACHINE}-pc-rdos
++	exit ;;
++    i*86:AROS:*:*)
++	echo ${UNAME_MACHINE}-pc-aros
++	exit ;;
+ esac
+ 
+ #echo '(No uname command or uname output not recognized.)' 1>&2
+@@ -1223,7 +1323,7 @@
+ #endif
+ 
+ #if defined (__arm) && defined (__acorn) && defined (__unix)
+-  printf ("arm-acorn-riscix"); exit (0);
++  printf ("arm-acorn-riscix\n"); exit (0);
+ #endif
+ 
+ #if defined (hp300) && !defined (hpux)
+@@ -1312,11 +1412,12 @@
+ }
+ EOF
+ 
+-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
++$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
++	{ echo "$SYSTEM_NAME"; exit; }
+ 
+ # Apollos put the system type in the environment.
+ 
+-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
++test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+ 
+ # Convex versions that predate uname can use getsysinfo(1)
+ 
+@@ -1325,22 +1426,22 @@
+     case `getsysinfo -f cpu_type` in
+     c1*)
+ 	echo c1-convex-bsd
+-	exit 0 ;;
++	exit ;;
+     c2*)
+ 	if getsysinfo -f scalar_acc
+ 	then echo c32-convex-bsd
+ 	else echo c2-convex-bsd
+ 	fi
+-	exit 0 ;;
++	exit ;;
+     c34*)
+ 	echo c34-convex-bsd
+-	exit 0 ;;
++	exit ;;
+     c38*)
+ 	echo c38-convex-bsd
+-	exit 0 ;;
++	exit ;;
+     c4*)
+ 	echo c4-convex-bsd
+-	exit 0 ;;
++	exit ;;
+     esac
+ fi
+ 
+@@ -1351,7 +1452,9 @@
+ the operating system you are using. It is advised that you
+ download the most up to date version of the config scripts from
+ 
+-    ftp://ftp.gnu.org/pub/gnu/config/
++  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
++and
++  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+ 
+ If the version you run ($0) is already up to date, please
+ send the following data and any information you think might be
@@ -0,0 +1,842 @@
+--- SDL_Pango-0.1.2/config.sub	2004-01-20 14:52:22.000000000 +0100
++++ SDL_Pango-0.1.2/config.sub	2009-10-13 01:07:12.000000000 +0200
+@@ -1,9 +1,10 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++#   Free Software Foundation, Inc.
+ 
+-timestamp='2003-02-22'
++timestamp='2009-10-07'
+ 
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -21,22 +22,26 @@
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330,
+-# Boston, MA 02111-1307, USA.
+-
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
++# 02110-1301, USA.
++#
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+ # the same distribution terms that you use for the rest of that program.
+ 
++
+ # Please send patches to <config-patches@gnu.org>.  Submit a context
+-# diff and a properly formatted ChangeLog entry.
++# diff and a properly formatted GNU ChangeLog entry.
+ #
+ # Configuration subroutine to validate and canonicalize a configuration type.
+ # Supply the specified configuration type as an argument.
+ # If it is invalid, we print an error message on stderr and exit with code 1.
+ # Otherwise, we print the canonical config type on stdout and succeed.
+ 
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
++
+ # This file is supposed to be the same for all GNU packages
+ # and recognize all the CPU types, system types and aliases
+ # that are meaningful with *any* GNU software.
+@@ -70,8 +75,8 @@
+ version="\
+ GNU config.sub ($timestamp)
+ 
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+-Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ 
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -83,11 +88,11 @@
+ while test $# -gt 0 ; do
+   case $1 in
+     --time-stamp | --time* | -t )
+-       echo "$timestamp" ; exit 0 ;;
++       echo "$timestamp" ; exit ;;
+     --version | -v )
+-       echo "$version" ; exit 0 ;;
++       echo "$version" ; exit ;;
+     --help | --h* | -h )
+-       echo "$usage"; exit 0 ;;
++       echo "$usage"; exit ;;
+     -- )     # Stop option processing
+        shift; break ;;
+     - )	# Use stdin as input.
+@@ -99,7 +104,7 @@
+     *local*)
+        # First pass through any local machine types.
+        echo $1
+-       exit 0;;
++       exit ;;
+ 
+     * )
+        break ;;
+@@ -118,7 +123,10 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+-  nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
++  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
++  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++  kopensolaris*-gnu* | \
++  storm-chaos* | os2-emx* | rtmk-nova*)
+     os=-$maybe_os
+     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+     ;;
+@@ -144,10 +152,13 @@
+ 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+-	-apple | -axis)
++	-apple | -axis | -knuth | -cray | -microblaze)
+ 		os=
+ 		basic_machine=$1
+ 		;;
++        -bluegene*)
++	        os=-cnk
++		;;
+ 	-sim | -cisco | -oki | -wec | -winbond)
+ 		os=
+ 		basic_machine=$1
+@@ -169,6 +180,10 @@
+ 	-hiux*)
+ 		os=-hiuxwe2
+ 		;;
++	-sco6)
++		os=-sco5v6
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
+ 	-sco5)
+ 		os=-sco3.2v5
+ 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+@@ -185,6 +200,10 @@
+ 		# Don't forget version if it is 3.2v4 or newer.
+ 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ 		;;
++	-sco5v6*)
++		# Don't forget version if it is 3.2v4 or newer.
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
+ 	-sco*)
+ 		os=-sco3.2v2
+ 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+@@ -228,53 +247,70 @@
+ 	| a29k \
+ 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+-	| clipper \
++	| am33_2.0 \
++	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++	| bfin \
++	| c4x | clipper \
+ 	| d10v | d30v | dlx | dsp16xx \
+-	| fr30 | frv \
++	| fido | fr30 | frv \
+ 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ 	| i370 | i860 | i960 | ia64 \
+-	| ip2k \
+-	| m32r | m68000 | m68k | m88k | mcore \
++	| ip2k | iq2000 \
++	| lm32 \
++	| m32c | m32r | m32rle | m68000 | m68k | m88k \
++	| maxq | mb | microblaze | mcore | mep | metag \
+ 	| mips | mipsbe | mipseb | mipsel | mipsle \
+ 	| mips16 \
+ 	| mips64 | mips64el \
+-	| mips64vr | mips64vrel \
++	| mips64octeon | mips64octeonel \
+ 	| mips64orion | mips64orionel \
++	| mips64r5900 | mips64r5900el \
++	| mips64vr | mips64vrel \
+ 	| mips64vr4100 | mips64vr4100el \
+ 	| mips64vr4300 | mips64vr4300el \
+ 	| mips64vr5000 | mips64vr5000el \
++	| mips64vr5900 | mips64vr5900el \
+ 	| mipsisa32 | mipsisa32el \
+ 	| mipsisa32r2 | mipsisa32r2el \
+ 	| mipsisa64 | mipsisa64el \
++	| mipsisa64r2 | mipsisa64r2el \
+ 	| mipsisa64sb1 | mipsisa64sb1el \
+ 	| mipsisa64sr71k | mipsisa64sr71kel \
+ 	| mipstx39 | mipstx39el \
+ 	| mn10200 | mn10300 \
++	| moxie \
++	| mt \
+ 	| msp430 \
++	| nios | nios2 \
+ 	| ns16k | ns32k \
+-	| openrisc | or32 \
++	| or32 \
+ 	| pdp10 | pdp11 | pj | pjl \
+ 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ 	| pyramid \
+-	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
++	| rx \
++	| score \
++	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ 	| sh64 | sh64le \
+-	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+-	| strongarm \
+-	| tahoe | thumb | tic80 | tron \
++	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
++	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
++	| spu | strongarm \
++	| tahoe | thumb | tic4x | tic80 | tron \
+ 	| v850 | v850e \
+ 	| we32k \
+-	| x86 | xscale | xstormy16 | xtensa \
+-	| z8k)
++	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++	| z8k | z80)
+ 		basic_machine=$basic_machine-unknown
+ 		;;
+-	m6811 | m68hc11 | m6812 | m68hc12)
++	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ 		# Motorola 68HC11/12.
+ 		basic_machine=$basic_machine-unknown
+ 		os=-none
+ 		;;
+ 	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ 		;;
++	ms1)
++		basic_machine=mt-unknown
++		;;
+ 
+ 	# We use `pc' rather than `unknown'
+ 	# because (1) that's what they normally are, and
+@@ -294,54 +330,67 @@
+ 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+-	| avr-* \
+-	| bs2000-* \
++	| avr-* | avr32-* \
++	| bfin-* | bs2000-* \
+ 	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+-	| clipper-* | cydra-* \
++	| clipper-* | craynv-* | cydra-* \
+ 	| d10v-* | d30v-* | dlx-* \
+ 	| elxsi-* \
+-	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
++	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ 	| h8300-* | h8500-* \
+ 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ 	| i*86-* | i860-* | i960-* | ia64-* \
+-	| ip2k-* \
+-	| m32r-* \
++	| ip2k-* | iq2000-* \
++	| lm32-* \
++	| m32c-* | m32r-* | m32rle-* \
+ 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+-	| m88110-* | m88k-* | mcore-* \
++	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ 	| mips16-* \
+ 	| mips64-* | mips64el-* \
+-	| mips64vr-* | mips64vrel-* \
++	| mips64octeon-* | mips64octeonel-* \
+ 	| mips64orion-* | mips64orionel-* \
++	| mips64r5900-* | mips64r5900el-* \
++	| mips64vr-* | mips64vrel-* \
+ 	| mips64vr4100-* | mips64vr4100el-* \
+ 	| mips64vr4300-* | mips64vr4300el-* \
+ 	| mips64vr5000-* | mips64vr5000el-* \
++	| mips64vr5900-* | mips64vr5900el-* \
+ 	| mipsisa32-* | mipsisa32el-* \
+ 	| mipsisa32r2-* | mipsisa32r2el-* \
+ 	| mipsisa64-* | mipsisa64el-* \
++	| mipsisa64r2-* | mipsisa64r2el-* \
+ 	| mipsisa64sb1-* | mipsisa64sb1el-* \
+ 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ 	| mipstx39-* | mipstx39el-* \
++	| mmix-* \
++	| mt-* \
+ 	| msp430-* \
+-	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
++	| nios-* | nios2-* \
++	| none-* | np1-* | ns16k-* | ns32k-* \
+ 	| orion-* \
+ 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ 	| pyramid-* \
+-	| romp-* | rs6000-* \
+-	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
++	| romp-* | rs6000-* | rx-* \
++	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+-	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+-	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
++	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
++	| sparclite-* \
++	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ 	| tahoe-* | thumb-* \
+-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ 	| tron-* \
+ 	| v850-* | v850e-* | vax-* \
+ 	| we32k-* \
+-	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+-	| xtensa-* \
++	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++	| xstormy16-* | xtensa*-* \
+ 	| ymp-* \
+-	| z8k-*)
++	| z8k-* | z80-*)
++		;;
++	# Recognize the basic CPU types without company name, with glob match.
++	xtensa*)
++		basic_machine=$basic_machine-unknown
+ 		;;
+ 	# Recognize the various machine names and aliases which stand
+ 	# for a CPU type and a company and sometimes even an OS.
+@@ -359,6 +408,9 @@
+ 		basic_machine=a29k-amd
+ 		os=-udi
+ 		;;
++    	abacus)
++		basic_machine=abacus-unknown
++		;;
+ 	adobe68k)
+ 		basic_machine=m68010-adobe
+ 		os=-scout
+@@ -373,6 +425,12 @@
+ 		basic_machine=a29k-none
+ 		os=-bsd
+ 		;;
++	amd64)
++		basic_machine=x86_64-pc
++		;;
++	amd64-*)
++		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
+ 	amdahl)
+ 		basic_machine=580-amdahl
+ 		os=-sysv
+@@ -396,6 +454,10 @@
+ 		basic_machine=m68k-apollo
+ 		os=-bsd
+ 		;;
++	aros)
++		basic_machine=i386-pc
++		os=-aros
++		;;
+ 	aux)
+ 		basic_machine=m68k-apple
+ 		os=-aux
+@@ -404,10 +466,26 @@
+ 		basic_machine=ns32k-sequent
+ 		os=-dynix
+ 		;;
++	blackfin)
++		basic_machine=bfin-unknown
++		os=-linux
++		;;
++	blackfin-*)
++		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
++		os=-linux
++		;;
++	bluegene*)
++		basic_machine=powerpc-ibm
++		os=-cnk
++		;;
+ 	c90)
+ 		basic_machine=c90-cray
+ 		os=-unicos
+ 		;;
++        cegcc)
++		basic_machine=arm-unknown
++		os=-cegcc
++		;;
+ 	convex-c1)
+ 		basic_machine=c1-convex
+ 		os=-bsd
+@@ -432,12 +510,27 @@
+ 		basic_machine=j90-cray
+ 		os=-unicos
+ 		;;
++	craynv)
++		basic_machine=craynv-cray
++		os=-unicosmp
++		;;
++	cr16)
++		basic_machine=cr16-unknown
++		os=-elf
++		;;
+ 	crds | unos)
+ 		basic_machine=m68k-crds
+ 		;;
++	crisv32 | crisv32-* | etraxfs*)
++		basic_machine=crisv32-axis
++		;;
+ 	cris | cris-* | etrax*)
+ 		basic_machine=cris-axis
+ 		;;
++	crx)
++		basic_machine=crx-unknown
++		os=-elf
++		;;
+ 	da30 | da30-*)
+ 		basic_machine=m68k-da30
+ 		;;
+@@ -460,6 +553,14 @@
+ 		basic_machine=m88k-motorola
+ 		os=-sysv3
+ 		;;
++	dicos)
++		basic_machine=i686-pc
++		os=-dicos
++		;;
++	djgpp)
++		basic_machine=i586-pc
++		os=-msdosdjgpp
++		;;
+ 	dpx20 | dpx20-*)
+ 		basic_machine=rs6000-bull
+ 		os=-bosx
+@@ -610,6 +711,14 @@
+ 		basic_machine=m68k-isi
+ 		os=-sysv
+ 		;;
++	m68knommu)
++		basic_machine=m68k-unknown
++		os=-linux
++		;;
++	m68knommu-*)
++		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
++		os=-linux
++		;;
+ 	m88k-omron*)
+ 		basic_machine=m88k-omron
+ 		;;
+@@ -621,14 +730,17 @@
+ 		basic_machine=ns32k-utek
+ 		os=-sysv
+ 		;;
+-	msys)
+-		basic_machine=i586-pc
+-		os=-msys
++        microblaze)
++		basic_machine=microblaze-xilinx
+ 		;;
+ 	mingw32)
+ 		basic_machine=i386-pc
+ 		os=-mingw32
+ 		;;
++	mingw32ce)
++		basic_machine=arm-unknown
++		os=-mingw32ce
++		;;
+ 	miniframe)
+ 		basic_machine=m68000-convergent
+ 		;;
+@@ -642,10 +754,6 @@
+ 	mips3*)
+ 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ 		;;
+-	mmix*)
+-		basic_machine=mmix-knuth
+-		os=-mmixware
+-		;;
+ 	monitor)
+ 		basic_machine=m68k-rom68k
+ 		os=-coff
+@@ -658,6 +766,9 @@
+ 		basic_machine=i386-pc
+ 		os=-msdos
+ 		;;
++	ms1-*)
++		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
++		;;
+ 	mvs)
+ 		basic_machine=i370-ibm
+ 		os=-mvs
+@@ -726,10 +837,6 @@
+ 	np1)
+ 		basic_machine=np1-gould
+ 		;;
+-	nv1)
+-		basic_machine=nv1-cray
+-		os=-unicosmp
+-		;;
+ 	nsr-tandem)
+ 		basic_machine=nsr-tandem
+ 		;;
+@@ -737,9 +844,12 @@
+ 		basic_machine=hppa1.1-oki
+ 		os=-proelf
+ 		;;
+-	or32 | or32-*)
++	openrisc | openrisc-*)
+ 		basic_machine=or32-unknown
+-		os=-coff
++		;;
++	os400)
++		basic_machine=powerpc-ibm
++		os=-os400
+ 		;;
+ 	OSE68000 | ose68000)
+ 		basic_machine=m68000-ericsson
+@@ -757,6 +867,14 @@
+ 		basic_machine=i860-intel
+ 		os=-osf
+ 		;;
++	parisc)
++		basic_machine=hppa-unknown
++		os=-linux
++		;;
++	parisc-*)
++		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
++		os=-linux
++		;;
+ 	pbd)
+ 		basic_machine=sparc-tti
+ 		;;
+@@ -766,24 +884,36 @@
+ 	pc532 | pc532-*)
+ 		basic_machine=ns32k-pc532
+ 		;;
++	pc98)
++		basic_machine=i386-pc
++		;;
++	pc98-*)
++		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
+ 	pentium | p5 | k5 | k6 | nexgen | viac3)
+ 		basic_machine=i586-pc
+ 		;;
+ 	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ 		basic_machine=i686-pc
+ 		;;
+-	pentiumii | pentium2)
++	pentiumii | pentium2 | pentiumiii | pentium3)
+ 		basic_machine=i686-pc
+ 		;;
++	pentium4)
++		basic_machine=i786-pc
++		;;
+ 	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ 		;;
+ 	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ 		;;
+-	pentiumii-* | pentium2-*)
++	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ 		;;
++	pentium4-*)
++		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
+ 	pn)
+ 		basic_machine=pn-gould
+ 		;;
+@@ -816,6 +946,10 @@
+ 		basic_machine=i586-unknown
+ 		os=-pw32
+ 		;;
++	rdos)
++		basic_machine=i386-pc
++		os=-rdos
++		;;
+ 	rom68k)
+ 		basic_machine=m68k-rom68k
+ 		os=-coff
+@@ -842,6 +976,14 @@
+ 	sb1el)
+ 		basic_machine=mipsisa64sb1el-unknown
+ 		;;
++	sde)
++		basic_machine=mipsisa32-sde
++		os=-elf
++		;;
++	sei)
++		basic_machine=mips-sei
++		os=-seiux
++		;;
+ 	sequent)
+ 		basic_machine=i386-sequent
+ 		;;
+@@ -849,6 +991,12 @@
+ 		basic_machine=sh-hitachi
+ 		os=-hms
+ 		;;
++	sh5el)
++		basic_machine=sh5le-unknown
++		;;
++	sh64)
++		basic_machine=sh64-unknown
++		;;
+ 	sparclite-wrs | simso-wrs)
+ 		basic_machine=sparclite-wrs
+ 		os=-vxworks
+@@ -923,10 +1071,6 @@
+ 		basic_machine=t90-cray
+ 		os=-unicos
+ 		;;
+-        tic4x | c4x*)
+-		basic_machine=tic4x-unknown
+-		os=-coff
+-		;;
+ 	tic54x | c54x*)
+ 		basic_machine=tic54x-unknown
+ 		os=-coff
+@@ -939,6 +1083,10 @@
+ 		basic_machine=tic6x-unknown
+ 		os=-coff
+ 		;;
++	tile*)
++		basic_machine=tile-unknown
++		os=-linux-gnu
++		;;
+ 	tx39)
+ 		basic_machine=mipstx39-unknown
+ 		;;
+@@ -952,6 +1100,10 @@
+ 	tower | tower-32)
+ 		basic_machine=m68k-ncr
+ 		;;
++	tpf)
++		basic_machine=s390x-ibm
++		os=-tpf
++		;;
+ 	udi29k)
+ 		basic_machine=a29k-amd
+ 		os=-udi
+@@ -995,6 +1147,10 @@
+ 		basic_machine=hppa1.1-winbond
+ 		os=-proelf
+ 		;;
++	xbox)
++		basic_machine=i686-pc
++		os=-mingw32
++		;;
+ 	xps | xps100)
+ 		basic_machine=xps100-honeywell
+ 		;;
+@@ -1006,6 +1162,10 @@
+ 		basic_machine=z8k-unknown
+ 		os=-sim
+ 		;;
++	z80-*-coff)
++		basic_machine=z80-unknown
++		os=-sim
++		;;
+ 	none)
+ 		basic_machine=none-none
+ 		os=-none
+@@ -1025,6 +1185,9 @@
+ 	romp)
+ 		basic_machine=romp-ibm
+ 		;;
++	mmix)
++		basic_machine=mmix-knuth
++		;;
+ 	rs6000)
+ 		basic_machine=rs6000-ibm
+ 		;;
+@@ -1041,13 +1204,10 @@
+ 	we32k)
+ 		basic_machine=we32k-att
+ 		;;
+-	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
++	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ 		basic_machine=sh-unknown
+ 		;;
+-	sh64)
+-		basic_machine=sh64-unknown
+-		;;
+-	sparc | sparcv9 | sparcv9b)
++	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ 		basic_machine=sparc-sun
+ 		;;
+ 	cydra)
+@@ -1114,25 +1274,30 @@
+ 	# Each alternative MUST END IN A *, to match a version number.
+ 	# -sysv* is not here because it comes later, after sysvr4.
+ 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
++	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
++	      | -kopensolaris* \
+ 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+-	      | -aos* \
++	      | -aos* | -aros* \
+ 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
++	      | -openbsd* | -solidbsd* \
++	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+-	      | -chorusos* | -chorusrdb* | -msys* \
++	      | -chorusos* | -chorusrdb* | -cegcc* \
+ 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
++	      | -uxpv* | -beos* | -mpeix* | -udk* \
+ 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+-	      | -powermax* | -dnix*)
++	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
++	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ 	# Remember, each alternative MUST END IN *, to match a version number.
+ 		;;
+ 	-qnx*)
+@@ -1150,12 +1315,15 @@
+ 		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ 		;;
+ 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
++	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ 	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ 		;;
+ 	-mac*)
+ 		os=`echo $os | sed -e 's|mac|macos|'`
+ 		;;
++	-linux-dietlibc)
++		os=-linux-dietlibc
++		;;
+ 	-linux*)
+ 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ 		;;
+@@ -1168,6 +1336,9 @@
+ 	-opened*)
+ 		os=-openedition
+ 		;;
++        -os400*)
++		os=-os400
++		;;
+ 	-wince*)
+ 		os=-wince
+ 		;;
+@@ -1189,6 +1360,9 @@
+ 	-atheos*)
+ 		os=-atheos
+ 		;;
++	-syllable*)
++		os=-syllable
++		;;
+ 	-386bsd)
+ 		os=-bsd
+ 		;;
+@@ -1211,6 +1385,9 @@
+ 	-sinix*)
+ 		os=-sysv4
+ 		;;
++        -tpf*)
++		os=-tpf
++		;;
+ 	-triton*)
+ 		os=-sysv3
+ 		;;
+@@ -1247,6 +1424,12 @@
+ 	-kaos*)
+ 		os=-kaos
+ 		;;
++	-zvmoe)
++		os=-zvmoe
++		;;
++	-dicos*)
++		os=-dicos
++		;;
+ 	-none)
+ 		;;
+ 	*)
+@@ -1269,6 +1452,12 @@
+ # system, and we'll never get to this point.
+ 
+ case $basic_machine in
++        score-*)
++		os=-elf
++		;;
++        spu-*)
++		os=-elf
++		;;
+ 	*-acorn)
+ 		os=-riscix1.2
+ 		;;
+@@ -1278,6 +1467,9 @@
+ 	arm*-semi)
+ 		os=-aout
+ 		;;
++        c4x-* | tic4x-*)
++        	os=-coff
++		;;
+ 	# This must come before the *-dec entry.
+ 	pdp10-*)
+ 		os=-tops20
+@@ -1303,6 +1495,9 @@
+ 	m68*-cisco)
+ 		os=-aout
+ 		;;
++        mep-*)
++		os=-elf
++		;;
+ 	mips*-cisco)
+ 		os=-elf
+ 		;;
+@@ -1321,9 +1516,15 @@
+ 	*-be)
+ 		os=-beos
+ 		;;
++	*-haiku)
++		os=-haiku
++		;;
+ 	*-ibm)
+ 		os=-aix
+ 		;;
++    	*-knuth)
++		os=-mmixware
++		;;
+ 	*-wec)
+ 		os=-proelf
+ 		;;
+@@ -1426,7 +1627,7 @@
+ 			-sunos*)
+ 				vendor=sun
+ 				;;
+-			-aix*)
++			-cnk*|-aix*)
+ 				vendor=ibm
+ 				;;
+ 			-beos*)
+@@ -1456,9 +1657,15 @@
+ 			-mvs* | -opened*)
+ 				vendor=ibm
+ 				;;
++			-os400*)
++				vendor=ibm
++				;;
+ 			-ptx*)
+ 				vendor=sequent
+ 				;;
++			-tpf*)
++				vendor=ibm
++				;;
+ 			-vxsim* | -vxworks* | -windiss*)
+ 				vendor=wrs
+ 				;;
+@@ -1483,7 +1690,7 @@
+ esac
+ 
+ echo $basic_machine$os
+-exit 0
++exit
+ 
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
@@ -0,0 +1,282 @@
+--- SDL_Pango-0.1.2/install-sh	2004-01-21 18:00:04.000000000 +0100
++++ SDL_Pango-0.1.2/install-sh	2009-10-13 01:07:12.000000000 +0200
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # install - install a program, script, or datafile
+ 
+-scriptversion=2004-01-12.10
++scriptversion=2005-02-02.21
+ 
+ # This originates from X11R5 (mit/util/scripts/install.sh), which was
+ # later released in X11R6 (xc/config/util/install.sh) with the
+@@ -58,9 +58,6 @@
+ rmprog="${RMPROG-rm}"
+ mkdirprog="${MKDIRPROG-mkdir}"
+ 
+-transformbasename=
+-transform_arg=
+-instcmd="$mvprog"
+ chmodcmd="$chmodprog 0755"
+ chowncmd=
+ chgrpcmd=
+@@ -70,23 +67,27 @@
+ src=
+ dst=
+ dir_arg=
++dstarg=
++no_target_directory=
+ 
+-usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
++usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+    or: $0 [OPTION]... SRCFILES... DIRECTORY
+-   or: $0 -d DIRECTORIES...
++   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
++   or: $0 [OPTION]... -d DIRECTORIES...
+ 
+-In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
+-In the second, create the directory path DIR.
++In the 1st form, copy SRCFILE to DSTFILE.
++In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
++In the 4th, create DIRECTORIES.
+ 
+ Options:
+--b=TRANSFORMBASENAME
+--c         copy source (using $cpprog) instead of moving (using $mvprog).
++-c         (ignored)
+ -d         create directories instead of installing files.
+--g GROUP   $chgrp installed files to GROUP.
+--m MODE    $chmod installed files to MODE.
+--o USER    $chown installed files to USER.
+--s         strip installed files (using $stripprog).
+--t=TRANSFORM
++-g GROUP   $chgrpprog installed files to GROUP.
++-m MODE    $chmodprog installed files to MODE.
++-o USER    $chownprog installed files to USER.
++-s         $stripprog installed files.
++-t DIRECTORY  install into DIRECTORY.
++-T         report an error if DSTFILE is a directory.
+ --help     display this help and exit.
+ --version  display version info and exit.
+ 
+@@ -96,12 +97,7 @@
+ 
+ while test -n "$1"; do
+   case $1 in
+-    -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+-        shift
+-        continue;;
+-
+-    -c) instcmd=$cpprog
+-        shift
++    -c) shift
+         continue;;
+ 
+     -d) dir_arg=true
+@@ -113,7 +109,7 @@
+         shift
+         continue;;
+ 
+-    --help) echo "$usage"; exit 0;;
++    --help) echo "$usage"; exit $?;;
+ 
+     -m) chmodcmd="$chmodprog $2"
+         shift
+@@ -129,14 +125,20 @@
+         shift
+         continue;;
+ 
+-    -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+-        shift
+-        continue;;
++    -t) dstarg=$2
++	shift
++	shift
++	continue;;
++
++    -T) no_target_directory=true
++	shift
++	continue;;
+ 
+-    --version) echo "$0 $scriptversion"; exit 0;;
++    --version) echo "$0 $scriptversion"; exit $?;;
+ 
+     *)  # When -d is used, all remaining arguments are directories to create.
+-	test -n "$dir_arg" && break
++	# When -t is used, the destination is already specified.
++	test -n "$dir_arg$dstarg" && break
+         # Otherwise, the last argument is the destination.  Remove it from $@.
+ 	for arg
+ 	do
+@@ -174,13 +176,13 @@
+     src=
+ 
+     if test -d "$dst"; then
+-      instcmd=:
++      mkdircmd=:
+       chmodcmd=
+     else
+-      instcmd=$mkdirprog
++      mkdircmd=$mkdirprog
+     fi
+   else
+-    # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
++    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+     # might cause directories to be created, which would be especially bad
+     # if $src (and thus $dsttmp) contains '*'.
+     if test ! -f "$src" && test ! -d "$src"; then
+@@ -202,25 +204,30 @@
+     # If destination is a directory, append the input filename; won't work
+     # if double slashes aren't ignored.
+     if test -d "$dst"; then
++      if test -n "$no_target_directory"; then
++	echo "$0: $dstarg: Is a directory" >&2
++	exit 1
++      fi
+       dst=$dst/`basename "$src"`
+     fi
+   fi
+ 
+   # This sed command emulates the dirname command.
+-  dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
++  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+ 
+   # Make sure that the destination directory exists.
+ 
+   # Skip lots of stat calls in the usual case.
+   if test ! -d "$dstdir"; then
+     defaultIFS='
+-  	'
++	 '
+     IFS="${IFS-$defaultIFS}"
+ 
+     oIFS=$IFS
+     # Some sh's can't handle IFS=/ for some reason.
+     IFS='%'
+-    set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
++    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
++    shift
+     IFS=$oIFS
+ 
+     pathcomp=
+@@ -228,78 +235,84 @@
+     while test $# -ne 0 ; do
+       pathcomp=$pathcomp$1
+       shift
+-      test -d "$pathcomp" || $mkdirprog "$pathcomp"
++      if test ! -d "$pathcomp"; then
++        $mkdirprog "$pathcomp"
++	# mkdir can fail with a `File exist' error in case several
++	# install-sh are creating the directory concurrently.  This
++	# is OK.
++	test -d "$pathcomp" || exit
++      fi
+       pathcomp=$pathcomp/
+     done
+   fi
+ 
+   if test -n "$dir_arg"; then
+-    $doit $instcmd "$dst" \
++    $doit $mkdircmd "$dst" \
+       && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+       && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+       && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+       && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+ 
+   else
+-    # If we're going to rename the final executable, determine the name now.
+-    if test -z "$transformarg"; then
+-      dstfile=`basename "$dst"`
+-    else
+-      dstfile=`basename "$dst" $transformbasename \
+-               | sed $transformarg`$transformbasename
+-    fi
+-
+-    # don't allow the sed command to completely eliminate the filename.
+-    test -z "$dstfile" && dstfile=`basename "$dst"`
++    dstfile=`basename "$dst"`
+ 
+     # Make a couple of temp file names in the proper directory.
+     dsttmp=$dstdir/_inst.$$_
+     rmtmp=$dstdir/_rm.$$_
+ 
+     # Trap to clean up those temp files at exit.
+-    trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
++    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+     trap '(exit $?); exit' 1 2 13 15
+ 
+-    # Move or copy the file name to the temp name
+-    $doit $instcmd "$src" "$dsttmp" &&
++    # Copy the file name to the temp name.
++    $doit $cpprog "$src" "$dsttmp" &&
+ 
+     # and set any options; do chmod last to preserve setuid bits.
+     #
+     # If any of these fail, we abort the whole thing.  If we want to
+     # ignore errors from any of these, just make sure not to ignore
+-    # errors from the above "$doit $instcmd $src $dsttmp" command.
++    # errors from the above "$doit $cpprog $src $dsttmp" command.
+     #
+     { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+       && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+       && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+       && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+ 
+-    # Now remove or move aside any old file at destination location.  We
+-    # try this two ways since rm can't unlink itself on some systems and
+-    # the destination file might be busy for other reasons.  In this case,
+-    # the final cleanup might fail but the new file should still install
+-    # successfully.
+-    {
+-      if test -f "$dstdir/$dstfile"; then
+-        $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+-        || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+-        || {
+-  	  echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+-  	  (exit 1); exit
+-        }
+-      else
+-        :
+-      fi
+-    } &&
+-
+     # Now rename the file to the real destination.
+-    $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+-  fi || { (exit 1); exit; }
++    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
++      || {
++	   # The rename failed, perhaps because mv can't rename something else
++	   # to itself, or perhaps because mv is so ancient that it does not
++	   # support -f.
++
++	   # Now remove or move aside any old file at destination location.
++	   # We try this two ways since rm can't unlink itself on some
++	   # systems and the destination file might be busy for other
++	   # reasons.  In this case, the final cleanup might fail but the new
++	   # file should still install successfully.
++	   {
++	     if test -f "$dstdir/$dstfile"; then
++	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
++	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
++	       || {
++		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
++		 (exit 1); exit 1
++	       }
++	     else
++	       :
++	     fi
++	   } &&
++
++	   # Now rename the file to the real destination.
++	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
++	 }
++    }
++  fi || { (exit 1); exit 1; }
+ done
+ 
+ # The final little trick to "correctly" pass the exit status to the exit trap.
+ {
+-  (exit 0); exit
++  (exit 0); exit 0
+ }
+ 
+ # Local variables:
@@ -1,4 +1,4 @@
---- jpeg-8a.orig/jmorecfg.h	Fri Nov 20 09:01:24 2009
+--- jpeg-8a/jmorecfg.h	Fri Nov 20 09:01:24 2009
 +++ jpeg-8a/jmorecfg.h	Fri Mar 19 01:22:26 2010
 @@ -233,7 +233,11 @@
   */
@@ -1,6 +1,5 @@
-diff -ru SDL-1.2.14/src/SDL.c SDL-1.2.14_patched/src/SDL.c
 --- SDL-1.2.14/src/SDL.c	2009-10-13 02:07:16.000000000 +0200
-+++ SDL-1.2.14_patched/src/SDL.c	2010-02-11 12:02:22.953125000 +0100
++++ SDL-1.2.14/src/SDL.c	2010-02-11 12:02:22.953125000 +0100
 @@ -21,6 +21,8 @@
  */
  #include "SDL_config.h"
@@ -0,0 +1,14 @@
+--- zlib-1.2.5/configure       2010-04-20 06:15:19.000000000 +0200
++++ zlib-1.2.5/configure       2010-10-18 17:44:42.000000000 +0200
+@@ -118,7 +118,10 @@
+     uname=`(uname -s || echo unknown) 2>/dev/null`
+   fi
+   case "$uname" in
+-  Linux* | linux* | GNU | GNU/* | *BSD | DragonFly) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
++  Linux* | linux* | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
++  *BSD | DragonFly)
++        LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"}
++        LDCONFIG="ldconfig -m" ;;
+   CYGWIN* | Cygwin* | cygwin* | OS/2*)
+         EXE='.exe' ;;
+   MINGW*|mingw*)
@@ -1,60 +0,0 @@
-#!/bin/sh
-
-prefix=/home/kthakore/Alien_SDL/sharedir/1.412_59142417
-exec_prefix=${prefix}
-exec_prefix_set=no
-libdir=${exec_prefix}/lib
-
-usage="\
-Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]"
-#usage="\
-#Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs]"
-
-if test $# -eq 0; then
-      echo "${usage}" 1>&2
-      exit 1
-fi
-
-while test $# -gt 0; do
-  case "$1" in
-  -*=*) optarg=`echo "$1" | LC_ALL="C" sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  case $1 in
-    --prefix=*)
-      prefix=$optarg
-      if test $exec_prefix_set = no ; then
-        exec_prefix=$optarg
-      fi
-      ;;
-    --prefix)
-      echo $prefix
-      ;;
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      exec_prefix_set=yes
-      ;;
-    --exec-prefix)
-      echo $exec_prefix
-      ;;
-    --version)
-      echo 1.2.14
-      ;;
-    --cflags)
-      echo -I${prefix}/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
-      ;;
-    --libs)
-      echo -L${exec_prefix}/lib -Wl,-rpath,${libdir} -lSDL  -lpthread
-      ;;
-#    --static-libs)
-##    --libs|--static-libs)
-#      echo -L${exec_prefix}/lib -Wl,-rpath,${libdir} -lSDL  -lpthread  -lm -ldl -L/usr/lib -ldirectfb -lfusion -ldirect -lpthread -lpthread
-#      ;;
-    *)
-      echo "${usage}" 1>&2
-      exit 1
-      ;;
-  esac
-  shift
-done
@@ -3,11 +3,7 @@
 use Test::More tests => 2;
 use Alien::SDL;
 
-diag("Testing basic headers SDL.h + SDL_version.h + SDL_net.h");
+diag("Testing basic headers SDL.h + SDL_version.h");
 is( Alien::SDL->check_header('SDL.h'), 1, "Testing availability of 'SDL.h'" );
 is( Alien::SDL->check_header( 'SDL.h', 'SDL_version.h' ),
     1, "Testing availability of 'SDL.h, SDL_version.h'" );
-#is( Alien::SDL->check_header('SDL_net.h'),
-#    1, "Testing availability of 'SDL_net.h'" );
-
-